Javascript 每次运行“useEffect”钩子时,是否都会重新定义该钩子中定义的函数?

Javascript 每次运行“useEffect”钩子时,是否都会重新定义该钩子中定义的函数?,javascript,reactjs,react-hooks,Javascript,Reactjs,React Hooks,React开发团队的官方建议是在钩子本身中定义useffect钩子中调用的函数,如果目的是避免彻底的依赖性错误。 搜索:“建议的修复方法是将该功能移动到效果内部。这样可以轻松查看效果使用的道具或状态,并确保它们都已声明:” 我想知道的是,是否每次运行钩子时都会一次又一次地定义该函数,以及是否会因此出现性能问题。这是一个好问题,我也想知道答案。尽管如此,我认为无论答案是什么,它都不应该是任何性能问题,主要是因为useEffect挂钩不应该被频繁触发。如果您经常运行useEffect,您应该尝试使

React开发团队的官方建议是在钩子本身中定义
useffect
钩子中调用的函数,如果目的是避免彻底的依赖性错误。

搜索:“建议的修复方法是将该功能移动到效果内部。这样可以轻松查看效果使用的道具或状态,并确保它们都已声明:”
我想知道的是,是否每次运行钩子时都会一次又一次地定义该函数,以及是否会因此出现性能问题。

这是一个好问题,我也想知道答案。尽管如此,我认为无论答案是什么,它都不应该是任何性能问题,主要是因为useEffect挂钩不应该被频繁触发。如果您经常运行useEffect,您应该尝试使用状态或其他东西。答案是肯定的。我不是100%确定,但我会选择肯定的:无论何时执行
useEffect
,您都可以想象一个房间充满了forniture(一个forniture是
useEffect
中定义的一个变量/方法)。一旦
useffect
结束,所有的forniture都将被删除,因此,下次调用它时,您需要重新放置forniture。老实说,我总是在外部定义方法,然后处理依赖项和
useCallback
sIt是个好问题,我也对答案很好奇。尽管如此,我认为无论答案是什么,它都不应该是任何性能问题,主要是因为useEffect挂钩不应该被频繁触发。如果您经常运行useEffect,您应该尝试使用状态或其他东西。答案是肯定的。我不是100%确定,但我会选择肯定的:无论何时执行
useEffect
,您都可以想象一个房间充满了forniture(一个forniture是
useEffect
中定义的一个变量/方法)。一旦
useffect
结束,所有的forniture都将被删除,因此,下次调用它时,您需要重新放置forniture。老实说,我总是在外部定义方法,然后处理依赖项和
useCallback
s