首页 男生 其他 深入浅出React和Redux

5.1.1 发现浪费的渲染时间

深入浅出React和Redux 程墨 1311 2021-04-06 02:29

  您可以在百度里搜索“深入浅出React和Redux 艾草文学(www.321553.xyz)”查找最新章节!

  

  5.1.1 发现浪费的渲染时间

  为了发现这个问题,需要在Chrome浏览器中安装React Perf扩展,在第4章第6节介绍了安装React Perf的方法。

  在Chrome浏览器中打开Todo应用的页面,执行下列步骤可以发现性能问题所在。

  1)添加两个待办事项,文字分别为First和Second;

  2)打开开发者工具,切换到Perf,这是React Perf工具界面,确保wasted选项被勾选;

  3)点击React Perf工具左侧的Start按钮,开始性能测量,这时按钮会变成Stop按钮;

  4)勾选Todo应用中的First那一项,让它变成完成状态;

  5)点击React Perf工具左侧的Stop按钮,结束性能测量,界面上会显示测量结果。

  完成上面的步骤之后,应该可以看到如图5-1的界面。

  图5-1 React Perf发现Todo应用中的浪费渲染时间

  在React Perf工具中,可以看见发现了浪费的渲染过程,React Perf工具记录在点击Start按钮和Stop按钮之间的所有React渲染,如果有组件计算Virtual DOM之后发现和之前的Virtual DOM相同,那就认为是一次浪费。注意,这里说的浪费是计算Virtual DOM的浪费,并不是访问DOM树的浪费。

  在上面的例子中,发生浪费的那一条Owner是TodoList,Component是TodoItem,意思就是父组件TodoList渲染一个子组件TodoItem是浪费的。

  在这个操作过程中,页面上只有First和Second两个TodoItem,First被标记为“完成”状态,对应的界面有改变,所以不可能有浪费;而Second没有界面改变,所以浪费只能是渲染Second导致的。 深入浅出React和Redux

目录
设置
手机
书架
书页
评论