何时使用 useCallback、useMemo 和 useEffect?

新手上路,请多包涵

useCallbackuseMemouseEffect 之间的主要区别是什么?

举例说明何时使用它们。

原文由 Silicum Silium 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 369
1 个回答

一个简短的解释。

使用效果

它是类组件生命周期方法的替代方法 componentDidMount , componentWillUnmount , componentDidUpdate 也可以使用它来创建依赖项,等等。 “如果某些变量发生变化,请执行此操作”。

使用回调

在每次渲染时,功能组件内的所有内容都将再次运行。如果子组件依赖于父组件的函数,则每次父组件重新渲染时,子组件都会重新渲染,即使该函数“没有改变”(引用发生变化,但函数的作用不会改变)吨)。

它用于通过避免子项进行不必要的渲染来进行优化,使函数仅在依赖项发生变化时更改引用。当函数是副作用的依赖项时,您应该使用它,例如 useEffect

使用备忘录

它将在每个渲染器上运行,但具有缓存值。它只会在某些依赖项发生变化时使用新值。当你有昂贵的计算时,它用于优化。 这也是解释它的一个很好的答案

原文由 Vencovsky 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进