plotly / react-cytoscapejs

React component for Cytoscape.js network visualisations
MIT License
483 stars 68 forks source link

Question: store selected Element as State #88

Open zirkelc opened 3 years ago

zirkelc commented 3 years ago

I'm listening to the select and unselect events on nodes and edges and saving this as selectedElement state:

  React.useEffect(() => {
    cyRef?.on('select unselect', 'node, edge', (event) => {
        setSelectedElement(event.target);
    });

    return () => {
      cyRef && cyRef.off('select unselect');
    };
  }, [cyRef]); 

When I check the selectedElement state on the React Dev Tools, I see that I actually store an reference to an Array: image

I think the selectedElement is type of SingularElementArgument, so a single item collection.

I was wondering if it does make any sense to store the element reference as state: Would a second selection of the same element give me the same object reference again? Would it make more sense to store the element.id()?

Are there any drawbacks when storing the element ref as state?