diff --git a/packages/react-arborist/src/components/provider.tsx b/packages/react-arborist/src/components/provider.tsx index 0326c82a..b23f083e 100644 --- a/packages/react-arborist/src/components/provider.tsx +++ b/packages/react-arborist/src/components/provider.tsx @@ -57,7 +57,12 @@ export function TreeProvider({ useMemo(() => { updateCount.current += 1; api.update(treeProps); - }, [...Object.values(treeProps), state.nodes.open]); + }, [...Object.values(treeProps)]); + + /* when the node's open or closed state changes, just perform rendering. */ + useMemo(() => { + api.update(api.props); + }, [state.nodes.open]); /* Expose the tree api */ useImperativeHandle(imperativeHandle, () => api);