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

Evitar de conectar todos os componentes a Store #6

Open
leandrooriente opened this issue Mar 10, 2017 · 3 comments
Open

Evitar de conectar todos os componentes a Store #6

leandrooriente opened this issue Mar 10, 2017 · 3 comments

Comments

@leandrooriente
Copy link

Recomendo que veja os vídeos de Redux do Abramov no Egghead. Ele passa num momento por Dumb components vs Smart components.

Basicamente ele diz que você deve evitar de conectar todos os componentes a store. No seu caso você possui um componente raiz o FinanceApp que já possui todos os dados da store.

Idealmente você passaria apenas o necessário para os componentes que ele importa via props ele seria sua single source of true. Isso evita que seus componentes passem pelo lifecycle do React sem necessidade quando uma prop não utilizada é alterada na store e torna o código menos propenso a erros.

@felipegalvao
Copy link
Owner

Fala Leandro!

Dei uma pesquisada sobre e parece que essa era uma recomendação inicial na documentação do Redux, mas que o próprio Abramov já mudou de ideia. Dá uma olhada nesses links:

http://redux.js.org/docs/faq/ReactRedux.html#react-multiple-components
reduxjs/redux#966
reduxjs/redux#419

Agora, o que se diz é que é um caso de preferência.

Dito isso, imagino que essa divisão de Presentational e Container que ele recomenda ainda pode ser melhorada no caso do meu projeto.

Valeu!

@leandrooriente
Copy link
Author

Sim, sim.

Em projetos maiores você acaba criando containers específicos quando tem uma hierarquia grande de componentes. Não faz sentido ter um componente alto nível recebendo um dado do estado para passar cinco níveis abaixo para outro.

Só que no caso desse app em específico, um único componente conectado teria resolvido bem já que existe apenas um nível na hierarquia. Isso a nível de clareza mesmo, não que tenha impacto direto em performance.

@felipegalvao
Copy link
Owner

Entendi cara. Fez sentido.

Obrigado pelos esclarecimentos, valeu!

Abraços

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

No branches or pull requests

2 participants