Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import React from 'react';
- import shallowEqual from 'fbjs/lib/shallowEqual';
- import filterObject from 'fbjs/lib/filterObject';
- export default class Component extends React.Component {
- shouldComponentUpdate(nextProps, nextState){
- let ignorePropsName = 'dangerouslyIgnoreProps';
- let ignoreProps = nextProps[ignorePropsName];
- let filterCallback = (value, name, object)=>{
- if(name == ignorePropsName || typeof ignoreProps == 'string'){
- return false;
- }else if(Array.isArray(ignoreProps)){
- if(ignoreProps.indexOf(name) !== -1){
- return false;
- }
- }else if(typeof ignoreProps == 'object'){
- if(ignoreProps.hasOwnProperty(name)){
- return false;
- }
- }
- return true;
- };
- let props = filterObject(this.props, filterCallback);
- let propsNew = filterObject(nextProps, filterCallback);
- return !shallowEqual(props, propsNew);
- }
- }
Add Comment
Please, Sign In to add comment