重写shouldComponentUpdate方法
import React, { Component } from 'react';
import { is } from 'immutable';
export default class PureComponent extends Component {
shouldComponentUpdate(newProps, newState) {
let oldState = this.state || {};
let oldProps = this.props || {};
newState = newState ? newState : {};
if (Object.keys(oldState).length !== Object.keys(newState).length || Object.keys(oldProps).length !== Object.keys(newProps).length) {
return true;
}
//属性的个数长度不一样更新,属性不相同更新,否则不更新
for (let key in newState) {
if (!is(newState[key], oldState[key])) {
return true;
}
}
for (const key in newProps) {
if (!is(oldProps[key], newProps[key])) {
return true;
}
}
return false;
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。