Guest User

Untitled

a guest
May 25th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. import React from 'react';
  2. import shallowEqual from 'fbjs/lib/shallowEqual';
  3. import filterObject from 'fbjs/lib/filterObject';
  4.  
  5. export default class Component extends React.Component {
  6. shouldComponentUpdate(nextProps, nextState){
  7. let ignorePropsName = 'dangerouslyIgnoreProps';
  8. let ignoreProps = nextProps[ignorePropsName];
  9. let filterCallback = (value, name, object)=>{
  10. if(name == ignorePropsName || typeof ignoreProps == 'string'){
  11. return false;
  12. }else if(Array.isArray(ignoreProps)){
  13. if(ignoreProps.indexOf(name) !== -1){
  14. return false;
  15. }
  16. }else if(typeof ignoreProps == 'object'){
  17. if(ignoreProps.hasOwnProperty(name)){
  18. return false;
  19. }
  20. }
  21. return true;
  22. };
  23. let props = filterObject(this.props, filterCallback);
  24. let propsNew = filterObject(nextProps, filterCallback);
  25. return !shallowEqual(props, propsNew);
  26. }
  27. }
Add Comment
Please, Sign In to add comment