immutable.js+react

重寫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;
    }
}
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息