React 性能优化技巧总结(2)
发布时间:2019-02-26 02:39 所属栏目:21 来源:落在起风的地方
导读:我们可以注意到,当状态值不再改变之后,render 的调用就停止了。 总结:对函数式组件来说,状态值改变时才会触发 render 函数的调用。 2. 父容器重新渲染时 importReactfromreact; importReactDOMfromreact-dom; c
我们可以注意到,当状态值不再改变之后,render 的调用就停止了。 总结:对函数式组件来说,状态值改变时才会触发 render 函数的调用。2. 父容器重新渲染时
只要点击了 App 组件内的 Change name 按钮,就会重新 render。而且可以注意到,不管 Foo 具体实现是什么,Foo 都会被重新渲染。 总结:无论组件是继承自 React.Component 的 class 组件还是函数式组件,一旦父容器重新 render,组件的 render 都会再次被调用。在「render」过程中会发生什么?只要 render 函数被调用,就会有两个步骤按顺序执行。这两个步骤非常重要,理解了它们才好知道如何去优化 React App。 Diffing在此步骤中,React 将新调用的 render 函数返回的树与旧版本的树进行比较,这一步是 React 决定如何更新 DOM 的必要步骤。虽然 React 使用高度优化的算法执行此步骤,但仍然有一定的性能开销。 Reconciliation基于 diffing 的结果,React 更新 DOM 树。这一步因为需要卸载和挂载 DOM 节点同样存在许多性能开销。 开始我们的 TipsTip #1:谨慎分配 state 以避免不必要的 render 调用我们以下面为例,其中 App 会渲染两个组件:
执行上面代码可知,只要父组件 App 中的状态被更新, (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读