Browse Source

fix(lints): Move setState(simulationData) out of componentDidUpdate

Otherwise we force a second render for essentially every render.
renovate/lint-staged-8.x
Ben Woosley 7 years ago
parent
commit
947cf70742
No known key found for this signature in database GPG Key ID: 6EE5F3785F78B345
  1. 22
      app/components/Network/CanvasNetworkGraph.js

22
app/components/Network/CanvasNetworkGraph.js

@ -64,9 +64,14 @@ class CanvasNetworkGraph extends Component {
const simulationDataEmpty = !nodes.length && !links.length
const networkDataLoaded = network.nodes.length || network.edges.length
// if the simulationData is empty and we have network data
if (simulationDataEmpty && networkDataLoaded) {
const prevNetwork = this.props.network
if (
// update the simulationData only if
// the simulationData is empty and we have network data
(simulationDataEmpty && networkDataLoaded) ||
// the nodes or edges have changed
(prevNetwork.nodes.length !== network.nodes.length || prevNetwork.edges.length !== network.edges.length)) {
this.setState({
simulationData: generateSimulationData(network.nodes, network.edges)
})
@ -75,22 +80,11 @@ class CanvasNetworkGraph extends Component {
componentDidUpdate(prevProps) {
const {
network: { nodes, edges },
selectedPeerPubkeys,
selectedChannelIds,
currentRouteChanIds
} = this.props
const prevNodes = prevProps.network.nodes
const prevEdges = prevProps.network.edges
// update the simulationData only if the nodes or edges have changed
if (prevNodes.length !== nodes.length || prevEdges.length !== edges.length) {
this.setState({
simulationData: generateSimulationData(nodes, edges)
})
}
if (prevProps.selectedPeerPubkeys.length !== selectedPeerPubkeys.length) {
this.updateSelectedPeers()
}

Loading…
Cancel
Save