react-flow-chart
react-flow-chart copied to clipboard
Functional components are having rendering issue.
I m tryng this library with functional components. so i am facing the issue something like : i m draging the element and element is not showing on screen immediately. after hovering on other node i can see the dragged element. i think it has some issue with state after draging its not updating the state immediately. My code is something like this::
export function ReactFlowChart() {
const chartClone = cloneDeep(chartSimple);
const [state, setState] = useState
same issue here, any thoughts?
I've found a workaround:
const stateActions = React.useMemo(
() => mapValues(actions, fn =>
(...args) => setState(s => ({ ...fn(...args)(s) }))
),
[]
)
The issue seems to be that fn
sometimes returns the same object instance. When using React.useState
, this registers as 'no change' hence there's there's no re-render.
The workaround works by create a shallow copy of the returned object, making it different.