React.memo并且
React.useMemo根本不等效(不要依赖命名相似性)。这是
React.memo
doc的引文:
React.memo是高阶成分。
因此,这是一个HOC,可以优化组件的呈现,因为它可以呈现具有相同属性的相同输出。
React.useMemo另一方面,它更通用,并返回一个备注值:
传递“创建”函数和一系列依赖项。
useMemo仅在其中一个依赖项(a或b)已更改时才重新计算存储的值。
const memoizedValue = useMemo( () => computeExpensivevalue(a, b), [a, b]);
尽管可以骇人使用
React.memo它而不是使用它,但这并不是其目的,它会使混乱更加严重。
useMemo是一个钩子,必须遵守某些使用规则。
还有这个警告:
将来,React可能会选择“忘记”一些以前记忆的值,并在下一次渲染时重新计算它们,例如为屏幕外组件释放内存。编写您的代码,使其仍然可以工作
useMemo,然后添加代码
以优化性能。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)