- Dividir a aplicação em:
- Views, Containers e Componentes (view and containers react pattern)
- view é uma função pura, stateless e só recebe o container
- container é responsável pela lógica do negócio e pela importação dos componentes filhos
- é aqui que utiliza o connect do redux
- Dumbs and smart compoents (dumb and smart components react pattern)
- Views, Containers e Componentes (view and containers react pattern)
- Redux Ducks:
- padrão de organização de redux
- utilizando tudo no mesmo arquivo (action, reducer, creator)
- Pastas e Arquivos:
- dividindo por tipo de arquivo
- src/reducer, src/actions, src/components, src/containers
- dividindo por feature
- src/feature-1/components, src/feature-1/container, src/feature-1/style.scss
- src/feature-2/components, src/feature-2/container, src/feature-2/style.scss
- dividindo por rotas
- src/route-1/feature-1/components, src/route-1/feature-1/container, src/route-1/feature-1/style.scss
- src/route-2/feature-2/components, src/route-2/feature-2/container, src/route-2/feature-2/style.scss
- dividindo por tipo de arquivo
- PropTypes e Tipagem:
- todo componente stateless que receba props, deve ter o PropTypes setado
- tipagem em todas as funções, ajudando em saber o retorno das funções
- create-react-app:
- webpack modules
- permite realizar o import absoluto com (node_modules ou src)
- webpack modules
- https://medium.freecodecamp.org/understanding-memoize-in-javascript-51d07d19430e
- https://hackernoon.com/implementing-interfaces-in-javascript-with-implement-js-8746838f8caa
- https://github.com/reactjs/reselect
- https://webpack.js.org/concepts/modules/ (webpack modules)
- https://medium.com/@scbarrus/the-ducks-file-structure-for-redux-d63c41b7035c (redux ducks)
- https://github.com/typicode/husky (hooks do git)
- https://www.cypress.io/ (e2e)
- https://www.google.com.br/search?ei=xi6XWsuPEuzM5gKj94m4CQ&q=cypress+e2e+tests+with+circleCI&oq=cypress+e2e+tests+with+circleCI (cypress e2e tests with circleCI)
- https://loopback.io/ (nodejs framework)