【发布时间】:2020-11-15 00:45:16
【问题描述】:
所以,当我们使用没有依赖数组的 useEffect 时,每次渲染都会发生这种情况。
但是,如果我只是将代码直接写到组件中,就会发生这种情况。那么有使用它的理由吗?
我能想到的一件事是使用清理功能做一些事情,但我想不出一个有效的用例。
【问题讨论】:
-
But that's what would happen if I just wrote the code directly into the component不正确。useEffect函数在渲染后运行,而不是在 DURING 中运行。 -
一个有效的用法是使用
setTimeout,然后在清理函数中运行clearTimeout(当组件卸载时生效)。 React 官方文档展示了另一个示例:reactjs.org/docs/hooks-effect.html#effects-with-cleanup
标签: reactjs react-hooks