useMemo
、useCallback
是一个 React Hook,它在每次重新渲染的时候能够缓存计算的结果。你应该仅仅把useMemo
、useCallback
作为一个性能优化的手段。
何时重新渲染?
使用 Object.is 将每个依赖项与其之前的值进行比较,当比较结果为 false
时就会重新渲染。
你应该在所有地方添加 useMemo
、useCallback
吗?
建议先看一遍官网的答案。总结起来就是没事别🦐J8用。
如何衡量一个计算过程是否要优化呢?
官网的答案。需要记住useMemo
不会让首次渲染更快,它只会帮助你跳过不必要的更新工作。
useMemo
与useCallback
的区别
useCallback
的唯一好处是它可以让你避免在内部编写额外的嵌套函数。它没有做任何其他事情。
什么是Memoization(记忆化)
一种优化技术,通过缓存函数的计算结果,以避免重复执行相同的计算操作。最终使用闭包缓存。