栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

useMemo与useEffect + useState

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

useMemo与useEffect + useState

useEffect
setState
每个变化都会导致额外的呈现:第一个将呈现“落后”与陈旧的数据,然后它会立即排队,用新的数据的附加渲染。


假设我们有:

function expensiveCalculation(x) { return x + 1; }; // Maybe I'm running this on a literal potato

假设

numberProp
最初为0:

  • useMemo
    版本立即呈现
    1
  • useEffect
    版本呈现
    null
    ,组件呈现然后后的效果运行,改变了状态,和队列了一个新的与渲染
    1

然后,如果我们更改

numberProp
为2:

  • useMemo
    运行和
    3
    呈现。
  • useEffect
    版本运行,并呈现
    1
    再次,那么效果触发,并与正确值的组件重播
    3

expensiveCalculation
运行频率而言,两者具有相同的行为,但是
useEffect
版本导致的渲染量是原来的两倍,这由于其他原因而对性能不利。

另外

useMemo
,IMO 的版本更干净,更易读。它不会引入不必要的可变状态,并且运动部件更少。

因此,最好只

useMemo
在这里使用。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/636560.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号