使用useMemo代替React.memo语法问题

使用useMemo代替React.memo语法问题,第1张

使用useMemo代替React.memo语法问题

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
,然后添加代码
以优化性能。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5646527.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存