0
点赞
收藏
分享

微信扫一扫

React之SCU(性能优化篇)

weednoah 2022-04-14 阅读 34

一、概念

shouldComponentUpdate(nextProps, nextState) {
    // 判断是否需要被渲染,如果需要则返回true,否则返回false 
    if (nextProps.b === this.props.b) {
        return false;
    } else {
        return true;
    }
}

二、适用场景

代码演示:

运行结果:

 

可以看到虽然只有组件一有数据更新,但所有组件都被重新渲染加载了。这时候就需要用到SCU了。

三、使用方法

3.1  基本使用方法 之一

代码演示:

运行结果:

可以看到,只有更新的组件进行了重新加载。未更新的组件并没有受到影响。

3.2  PureComponent方法

代码展示:

运行结果:

 

可以看到,第三组件只有在首屏时加载一次,而后再没有加载,说明方法成功 

3.3   React.memo高阶组件

 代码展示:

运行结果:

 3.4  lodash.isEqual方法

多层的对象要进行比较,使用lodash 提供的递归深度比较

 代码展示:

 运行结果:

 

举报

相关推荐

0 条评论