Reactjs 是否有理由在不使用依赖项数组的情况下使用useEffect?
因此,当我们在没有依赖性数组的情况下使用useEffect时,它会发生在每个渲染上 但是如果我直接将代码写到组件中,就会发生这种情况。那么使用它有什么理由吗Reactjs 是否有理由在不使用依赖项数组的情况下使用useEffect?,reactjs,react-hooks,Reactjs,React Hooks,因此,当我们在没有依赖性数组的情况下使用useEffect时,它会发生在每个渲染上 但是如果我直接将代码写到组件中,就会发生这种情况。那么使用它有什么理由吗 我能想到的一件事是使用cleanup函数做一些事情,但我想不出一个有效的用例。这件事既是一个普通的JS函数,也是一个没有任何依赖关系的useffect做同样的工作,但区别在于: useffect只能在React代码中访问,而不是在普通JS中。它的反应能力更强。因此,Hooks的范围仅限于React代码世界 在基于类的组件中,钩子不起作用,但
我能想到的一件事是使用cleanup函数做一些事情,但我想不出一个有效的用例。这件事既是一个普通的JS函数,也是一个没有任何依赖关系的
useffect
做同样的工作,但区别在于:
useffect
只能在React代码中访问,而不是在普通JS中。它的反应能力更强。因此,Hooks的范围仅限于React代码世界这就是一个例子。
但如果我直接将代码写入组件,就会发生这种情况。
不正确useEffect
函数在渲染后运行,而不是在渲染期间运行。有效的用法是使用setTimeout
,然后在cleanup函数中运行clearTimeout
(该函数在组件卸载时生效)。官方回应文件显示了另一个例子:这是否回答了你的问题?