我们经常可以在代码中看到胡乱使用 useMemo 的例子,例如对于非常简单的计算逻辑许多开发者也会使用 useMemo 来进行包裹,然而 useMemo 并非没有消耗,它会依次对比 deps 看是否有变化来决定是否复用上一次的计算结果,以及需要缓存相关的状态到 Fiber Node 上。

React 官方的建议是如果你不知道怎么用你可以使用 console.time 来测量代码的执行时间,如果时间大于等于 1ms 则代表添加 useMemo 来缓存计算结果是有意义的。
展开
评论