为了账号安全,请及时绑定邮箱和手机立即绑定

PureComponent的用法是不是这样

PureComponent的用法是不是这样

郎朗坤 2019-03-12 17:19:18
一开始学习react的时候看到的是PureRenderMixin 后来google后说是用PureComponent 。我想知道什么时候用class App extends React.Component什么时候用class App extends PureComponent这两种写法出来的组件一个样么。 还有这个PureComponent 我就这么用就可以了?不需要再写其他的代码了么
查看完整描述

3 回答

?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

PureComponent的本质是帮你写了一个shouldComponentUpdate,做一层浅比较,实现渲染时优化。
如果是简单类型的比较,就不用自己写shouldComponentUpdate了。
需要注意的是:PureComponent和shouldComponentUpdate不能共存

查看完整回答
反对 回复 2019-03-18
?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

简单的说就是purecomponents自己实现了shouldComponentUpdate 类似下面


function shouldComponentUpdate(nextProps, nextState){

    const cProps = this.props, cState = this.state;

    for(let key in nextProps){

        if(cProps[key] !== nextProps[key]) return true

    }

    for(let key in nextState){

        if(cState[key] !== nextState[key]) return true

    }

    

    return false;

}


查看完整回答
反对 回复 2019-03-18
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

import React from 'react';


class A extends React.Component {

    //当参数为复合数据组件时,比如对象、数组、Set、Map等, 以及它们的组件

}


class B extends React.PureComponent {

    //当参数为基本数据时使用,比如String, Number, Boolean等。

}


查看完整回答
反对 回复 2019-03-18
  • 3 回答
  • 0 关注
  • 1004 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号