美文网首页Web前端之路前端开发虾写前端
react + redux性能优化之重复渲染

react + redux性能优化之重复渲染

作者: azothaw | 来源:发表于2016-06-24 13:29 被阅读3830次

先上图

文章系列主要内容如下:

  • 减少重复渲染
  • 列表懒加载
  • 动画和数据请求分离
  • 导航闪动

本次主要内容:减少重复渲染

在react +redux 架构的项目中,只要state发生改变,整个项目都会被渲染,那么如何减少重复渲染呢?

列表重复渲染

react 的生命周期提供了一个方法判断组件是否更新

//true表示更新,false表示不更新
shouldComponentUpdate: function(nextProps, nextState) { 
    return true;
}

对于不需要重复渲染的组件我们可以:

shouldComponentUpdate: function(nextProps, nextState) {
    return false;
}

对于需要通过对某个数值判断是否渲染的,我们可以:

shouldComponentUpdate: function(nextProps, nextState) {
    return this.props.value !== nextProps.value;
}

对于需要对数组判断的情况,上面的做法可能不正确

因为在操作数组是我们是操作的同一个数组,在操作的过程中nextPropsnextState的值已经相同了,如果要让他不同,必须用redux的提供的官方操作,先拷贝数组对象再操作,或者[].concat()(concat会返回一个新数组,类似拷贝对象)。然后我们在shouldComponentUpdate中判断nextPropsnextState就行了,这是的判断结果才会是正确的。

这个时候我们又遇到了新的问题

如果组件中一部分需要渲染,一部分不需要渲染怎么办?

这个时候就改考虑组件拆分的问题了,其实组件拆分不仅能提高代码的可读性,也可以对组件优化起一臂之力。

欢迎大家关注我的简述,我后续会根据我们项目继续更新这个系列文章_

相关文章

  • react + redux性能优化之重复渲染

    先上图 文章系列主要内容如下: 减少重复渲染 列表懒加载 动画和数据请求分离 导航闪动 本次主要内容:减少重复渲染...

  • Redux源码剖析

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

  • React-Redux性能优化

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

  • react-native中统计组件渲染次数

    性能优化的很大一个点就是避免组件重复渲染。在react中有很多统计组件重复渲染的工具,但是react-native...

  • web端三大框架

    React:1 自组件重复渲染问题需要手动优化 2 可以使用redux进行状态管理,函数式,不可变,...

  • 重点掌握

    【前端性能优化汇总】【Webpack原理+React原理+Redux+React Router】【输入URL后发生...

  • 翻译|从提高性能角度优化react-redux store

    翻译|从提高性能角度优化react-redux store原文请见 译注:一旦在React的程序中引入Redux框...

  • React 组件性能优化

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

  • React 性能优化 - 避免重复渲染

    对于函数组件是否需要再次渲染,可以根据 React.memo 与 React.useMemo 来优化。 函数组件优...

  • react-redux

    redux 全局状态管理 react-redux 优化模块 优化redux的使用过程 通过react-redux ...

网友评论

    本文标题:react + redux性能优化之重复渲染

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