不要再滥用useMemo了!你应该重新思考Hooks memoization
不要再滥用useMemo了!你应该重新思考Hooks memoization 作者 | Ohans Emmanuel译者 | 王强编辑 | Yonie 在使用 React Hooks 的过程中,作者发现过渡频繁的应用 useMemo 用会影响程序的性能。在本文中作者将与大家分享如何避免过度使用 useMemo,使程序远离性能问题。 经过观察总结,我发现在两种情况下 useMemo 要么没什么用,要么就是用得太多了,而且可能会影响应用程序的性能表现。 第一种情况很容易就能推断出来,但是第二种情况就比较隐蔽了,很容易被忽略。如果你在生产环境的应用程序中使用了 Hook,那么你就可能会在这两个场景中使用 useMemo Hook。 下面我就会谈一谈为什么这些 useMemo 没什么必要,甚至可能影响你的应用性能。此外我会教大家在这些场景中避免过度使用 useMemo 的方法。 我们开始吧。 不需要 useMemo 的情况 为了方便,我们把这两类场景分别称为狮子和变色龙。 先不用纠结为什么这么叫,继续读下去就是。 当你撞上一头雄狮,你的第一反应就是撒丫子跑,不要成为狮子的盘中餐,然后活下来跟别人吹牛。这时候可没空思考那么多。 这就是场景 A。它们是狮子,你应该下意识地躲开它们。 但在谈论它们之前,我们先来看看更隐蔽的变色龙场景。 相同的引用和开销不大的操作 参考下面的示例组件: /**