在 useEffect() 函数中返回未定义的 Redux 存储状态



我的 Redux 存储状态返回 undefineduseEffect钩子。如果我在useEffect中删除空数组[],我的 Redux 存储返回true值,但非常多,有时在无限循环中执行!

useEffect(() => {
store.subscribe(() => {
setNodeProperties({
positionX: store.getState().schemaViewer.positionX,
positionY: store.getState().schemaViewer.positionY,
});
console.log(nodeProperties);
});
}, []);

问题是setNodeProperties会将更改排队等待nodeProperties并且不会立即发生,因为它是异步的。因此,一旦nodeProperties发生变化,我会尝试运行副作用。组件中可以有多个useEffect钩子。

尝试如下操作:

useEffect(() => {
console.log(nodeProperties);
}, [nodeProperties]);

通过这种方式,您可以捕获nodeProperties的更改,并仅在那时运行日志记录步骤。建议阅读是使用效果钩。

我希望这有帮助!

相关内容

  • 没有找到相关文章

最新更新