Estoy tratando de actualizar dinámicamente react-force-graph-2d, pero no quiero que el gráfico se mueva como se muestra en el ejemplo aquí:
https://vasturiano.github.io/react-force-graph/example/dynamic/
En cambio, quiero que los nodos y los enlaces permanezcan en una posición fija una vez que se agregan en lugar de moverse. Esencialmente, una vez que se agrega un nodo/enlace, quiero que permanezca en su lugar a menos que el usuario mueva el nodo por sí mismo.
He podido arreglar los nodos en el lienzo usando:
node.fx = node.x; node.fy = node.y; y no he notado el parpadeo del nodo, pero no he podido corregir los enlaces al lienzo, lo que da como resultado un parpadeo cada vez que se llama al intervalo dentro del gancho useEffect .
Cuando los datos se vuelven a procesar, los enlaces comienzan a parpadear y estoy tratando de evitar este comportamiento. La solución utilizada para los nodos no funciona porque link.fx y link.fy no están definidos, por lo que me pregunto cómo mantener los enlaces en su lugar. Cualquier ayuda sería muy apreciada.
<ForceGraph2D ref={fgRef} graphData={data} nodeCanvasObject={ // fix node to canvas node.fx = node.x; node.fy = node.y; } nodeCanvasObjectMode={() => "after"} linkCanvasObject={ // how can I fix the links to the canvas? } linkCanvasObjectMode={() => "after"} />Comportamiento esperado Los enlaces permanecen fijos en el lienzo cuando se actualizan y no parpadean.