useCallback
, useMemo
和 useEffect
之间的主要区别是什么?
举例说明何时使用它们。
原文由 Silicum Silium 发布,翻译遵循 CC BY-SA 4.0 许可协议
useCallback
, useMemo
和 useEffect
之间的主要区别是什么?
举例说明何时使用它们。
原文由 Silicum Silium 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答1.4k 阅读
1 回答1.2k 阅读
1 回答1k 阅读
一个简短的解释。
使用效果
它是类组件生命周期方法的替代方法
componentDidMount
,componentWillUnmount
,componentDidUpdate
也可以使用它来创建依赖项,等等。 “如果某些变量发生变化,请执行此操作”。使用回调
在每次渲染时,功能组件内的所有内容都将再次运行。如果子组件依赖于父组件的函数,则每次父组件重新渲染时,子组件都会重新渲染,即使该函数“没有改变”(引用发生变化,但函数的作用不会改变)吨)。
它用于通过避免子项进行不必要的渲染来进行优化,使函数仅在依赖项发生变化时更改引用。当函数是副作用的依赖项时,您应该使用它,例如
useEffect
。使用备忘录
它将在每个渲染器上运行,但具有缓存值。它只会在某些依赖项发生变化时使用新值。当你有昂贵的计算时,它用于优化。 这也是解释它的一个很好的答案。