Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deveríamos utilizar o React.PureComponent em componentes mais simples? #2

Open
leonardovillela opened this issue Jun 13, 2017 · 1 comment
Labels

Comments

@leonardovillela
Copy link

Deveríamos utilizar o React.PureComponent em componentes mais simples como Label, Link, Button?ajudaria a evitar o re-render dos componentes de forma desnecessária.

@rafaelfbs
Copy link
Contributor

Para usarmos o React.PureComponente, as props precisam ser imutáveis. Segundo a nota na documentação:

React.PureComponent's shouldComponentUpdate() only shallowly compares the objects. If these contain complex data structures, it may produce false-negatives for deeper differences. Only extend PureComponent when you expect to have simple props and state, or use forceUpdate() when you know deep data structures have changed. Or, consider using immutable objects to facilitate fast comparisons of nested data.
Furthermore, React.PureComponent's shouldComponentUpdate() skips prop updates for the whole component subtree. Make sure all the children components are also "pure".

  • O componente de Link não precisa (ele já é puro);
  • O componente de Label possui props flatten, então conseguimos converter em PureComponent ou SFC;
  • O componente de Button possui a props icon e actionData como object, não tem como assumirmos que esses objetos sejam imutáveis nem assumir que o element passado é puro.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants