React 为什么将函数包含在依赖项列表中被认为是性能优化?

React Why is it considered a performance optimisation to include functions in the list of dependencies?

根据 docs 我们不想从 useEffect() 的依赖项中省略函数。为什么是这样?性能影响是什么?

如果您省略函数并且您的组件增长,那么在某个时间点您的函数可能需要一些道具并且间接地您的效果可能与依赖关系有关。

这就是为什么建议将不需要 props 或 state 的功能提升到组件外部,并将仅由该效果内部的效果使用的功能拉出。 如果 useEffect 仍然需要作为依赖项运行,则将它们包装在 useCallback.

这样我们就不必再考虑传递依赖。我们的 dependencies 数组不再撒谎:我们真的没有在我们的效果中使用组件外部范围的任何东西。而且您的代码是高性能和最佳的。

refer more here: moving-functions-inside-effects