美文网首页
react性能优化

react性能优化

作者: 星月西 | 来源:发表于2017-05-27 16:24 被阅读67次

1.PureRender纯渲染

纯渲染,组件的渲染是被相同的props和state渲染得到的相同结果。
可以在shouldComponentUpdate函数中,对传入的props和state与之前的进行浅比较,如果相同则组件不会执行render方法,来减少dom渲染次数。
其中用作浅比较的shallowEqual如下:

function shallowEqual(a,b){
    if(a===b){
        return true;
    }

    const aKeys=Object.keys(a);
    const bKeys=Object.keys(b);
    if(aKeys.length!==bKeys.length){
        return false;
    }

    //仅进行浅度比较,仅比较其引用
    return aKeys.every((key)=>{
        return a[key]===b[key];
    });
}

2.Immutable

不可变数据就是一旦创建,就不能再更改的数据,对Immutable对象进行修改,就会返回一个新的Immutable对象。

  • 根本上,Immutable使用了结构共享,如果对象树种的一个节点发生变化,只能修改这个节点与受它影响的父节点,其他节点则共享,可以节省内存。
  • 两个Immutable比较,可以用===比较其内存地址,也可以通过Immutable.is作值比较,只要两个对象hashCode相等,值就是一样的,避免了深度遍历比较
  • 可以在shouldComponentUpdate中使用===或is对state和props进行高效地判断数据是否变化,来避免不必要的render
    PS: Object.keys会列出对象所有可枚举属性,而for in则会列出对象原型链上所有可枚举属性

相关文章

  • 【React.js 20】React性能优化

    React性能优化 React性能优化主要分三块: React 组件性能优化 属性传递优化针对单组件性能优化,很多...

  • 深入浅出React和Redux学习笔记(五)

    React组建的性能优化 性能优化的方法: 单个React组件的性能优化; 多个React组件的性能优化; 利用r...

  • Redux源码剖析

    前面写了《React组件性能优化》《Redux性能优化》《React-Redux性能优化》,但是都没有从这些框架的...

  • react性能优化

    React 性能优化 React 性能优化 | 包括原理、技巧、Demo、工具使用[https://juejin....

  • React-Redux性能优化

    前面写了两篇文章《React组件性能优化》《Redux性能优化》,分别针对React和Redux在使用上的性能优化...

  • react 框架性能优化

    react 框架性能优化 前端性能监控利器 1.Google Performance工具 2.react 性能查看...

  • React 性能优化

    React 性能优化 简单的 todo-list-demo 讲 React 性能优化不能光靠嘴说,得有一个 dem...

  • React性能优化方案

    React 性能优化 简单的 todo-list-demo 讲 React 性能优化不能光靠嘴说,得有一个 dem...

  • React 组件性能优化

    React 组件性能优化最佳实践 React 组件性能优化的核心是减少渲染真实 DOM 节点的频率,减少 Virt...

  • 05|React组件的性能优化

    本文主要是针对性能优化做介绍,对应的React本身性能就比较不错!要介绍的点如下: 单个React组件的性能优化 ...

网友评论

      本文标题:react性能优化

      本文链接:https://www.haomeiwen.com/subject/zdwtfxtx.html