O QUE VOCÊ IRÁ APRENDER
Alinhamento de conceitos
- Tipos de componentes (Classe ES6 e Funcionais)
- Quando utilizar um ou outro
1º Projeto Web: Sistema de comentários
- State, spread operator, como renderizar uma lista de componentes
- Componentização e organização
- Integração com Firebase
- Functional Components e boas práticas
- Testes unitários com react-testing-library
- Teste automatizado do componente Comments
- Teste automatizado do NewComment
- Injeção de Dependências
- Publicação do projeto no Firebase Hosting
- Autenticação com Firebase
- Layout com Bootstrap
1º Projeto em React Native: Meu IP
- Instalação do Genymotion com Google Apps
- Layouts e Flexbox
2º Projeto Web: Gerenciador de produtos
- Navegação em SPAs
- Mapeamento de Categorias
- Recuperação dos parâmetros/valores da URL
- Organização da API
- Organização do código
- Redirecionamento entre rotas
- Organização do projeto (Componente Categoria)
2° Projeto em React Native: CalisTimer
- Prototipação no Figma
- Fontes customizadas
- Navegação com React-navigation
- Funcionalidade
- Componente Select
- TextInput e tratamento
- ProgressBar e BackgroundProgress
- Reprodução de sons e criação de alerta
- Animações
- Publicação na Play Store e na App Store
Git
- Push para o GitHub
- Git pull e checkout (como recuperar um arquivo)
- Git clone
- Git ignore
Ciclo de vida de um componente em ReactJS
- Ciclo de vida de um componente com Hooks
- Ciclo de vida de um componente com classes ES6:
- Mounting, Updating e Unmounting
- Métodos
- O método componentDidUpdate
- O método getSnapshotBeforeUpdate
Tópicos avançados
- Criando hooks para reutilização de código
- High-Order Component (HOC)
- HOC – passando props
- Render Props
- Render Props – para re-uso de código
- Prop Drilling
- Context API / New Context API
- Portals
Teste e documentação com Storybook
- Configuração do Storybook no projeto
- Decorators e carregamento de stories dinamicamente
- Geração do storybook estático e hospedagem no Github Pages
Projeto Prático: DevRunning
- Autenticação e autorização;
- JWT (JSON Web Token);
- Localização (l18n);
- Redux;
- Redux-Sagas;
- ReduxSauce;
- Consumo de dados por RestAPI;
- Organização de projeto;
- Navegação e navegação por tipo de usuário;
- Autenticação de diferentes tipos de usuário.
OS MÓDULOS SÃO LIBERADOS SEMANALMENTE