react-graph-vis и перехватчики реакции. График не обновляется

const options = {
  autoResize:true,
  height:'500px',
  width:'500px',
};
const g1  = {
  nodes: [
    { id: 1, label: "Node 1", title: "node 1 tootip text" },
  ],
  edges: [
  ]
};

const g2 = {
  nodes:[
    { id: 5, label: "Node 2", title: "node 2 tootip text" }
  ],
  edges:[]
}

function App() {

  const [graphData, setGraphData] = useState(g1)

  const addNode = (e) => {
    e.preventDefault()
    console.log('addNode clicked!')
    setGraphData(g2)    
  }

  return (
    <div className='appContainer'>
      <div className='titleContainer'>
        <h1 className='title'>SettleIt.</h1>
      </div>
      <div className='mainContainer'>
        <div className='graphContainer'>
          <Graph
                graph={graphData}
                options={options}
            />
        </div>
        <div className='controlContainer'>
          <ControlBox addNode={addNode}/>
        </div>
      </div>
    </div>

  );
}

export default App;

graphData обновляется, но граф с новыми узлами не отображает вместо этого ошибку, которая не может добавить элемент с существующим идентификатором. Есть ли другой способ обновить узлы и ребра графа? Или я что-то делаю не так с методами жизненного цикла реакции, что его обновление дважды?

0 ответов

Другие вопросы по тегам