in src/SankeyDiagram.js [962:993]
static getDerivedStateFromProps(nextProps, prevState) {
const { prevProps } = prevState;
// only update this._graph if a prop which affects the sankey layout has changed (most don't)
const sankeyLayoutPropKeys = [
'nodes',
'links',
'width',
'height',
'marginTop',
'marginBottom',
'marginLeft',
'marginRight',
'nodeId',
'nodeWidth',
'nodePadding',
'nodeAlignment',
];
const hasChangedSankey = sankeyLayoutPropKeys.some(key => {
return nextProps[key] !== prevProps[key];
});
if (hasChangedSankey) {
const graph = SankeyDiagram.makeSankeyGraph(nextProps);
return {
graph,
prevProps: cloneDeep(nextProps),
};
}
return null;
}