Faça seu app se comportar do jeito certo
com gerenciamento de estado moderno
Aqui você aprende a controlar o que acontece na tela quando o usuário interage, quando dados chegam da API e quando algo dá errado. Sem gambiarra, sem "setState" aleatório por todo lado.
Carga horária estimada: 22 aulas · 28h com exemplos reais de fluxo de estado em apps que conversam com API e banco de dados.
O que você sai sabendo após o Módulo 4
O foco aqui é fazer você se sentir seguro ao escolher e aplicar uma estratégia de estado em Flutter, desde telas simples até fluxos mais complexos.
Quando usar setState e quando não usar
Entender o papel do setState em telas simples, os riscos de espalhar esse padrão pelo app todo e quando é hora de migrar para algo mais robusto para evitar bugs difíceis de rastrear.
InheritedWidget e o "por baixo dos panos" do estado
Ver na prática como o Flutter propaga dados pela árvore de widgets com InheritedWidget e por que ele é a base conceitual por trás de soluções como Provider e Riverpod.
Provider e Riverpod na prática
Configurar Provider e Riverpod, criar providers para estados simples e assíncronos, consumir esses estados em widgets e organizar melhor a camada de apresentação do app.
Bloc Pattern para fluxos mais complexos
Entender o padrão Bloc (eventos → estados) e quando faz sentido usá-lo, separando claramente a lógica de negócio da interface e deixando os fluxos mais previsíveis.
Estados de loading, sucesso e erro bem definidos
Modelar estados como loading, empty, success, error para telas que consomem APIs, exibindo feedback visual adequado em cada etapa em vez de deixar o usuário perdido.
Testabilidade e debuggabilidade do estado
Organizar o estado de forma que seja fácil de testar e de debugar, incluindo logs, viewers de estado e estratégias para entender o que aconteceu quando algo quebra.
Usando IA para desenhar e revisar o estado
Aprender a usar IA para desenhar diagramas de fluxo de estado, revisar blocos/Providers complexos e propor refactors que deixem seu estado mais simples e legível.
Como o Módulo 4 está organizado
Bloco 1 · Revisão de estado com setState
- Relembrando como o Flutter reconstrói widgets
- Onde faz sentido usar setState e onde não faz
- Refatorando telas com setState espalhado
- Mini projeto: tela de contadores e formulários simples
Bloco 2 · InheritedWidget e contexto
- Como o contexto funciona na árvore de widgets
- Criando um InheritedWidget do zero
- Compartilhando estado entre múltiplas telas
- Entendendo limitações desse padrão na prática
Bloco 3 · Provider & Riverpod em apps reais
- Configurando Provider e Riverpod no projeto
- Criando providers para estados síncronos e assíncronos
- Consumindo estado em múltiplas telas
- Mini projeto: app com lista + detalhes consumindo API fake
Bloco 4 · Introdução prática ao Bloc
- Entendendo eventos, estados e transições
- Criando um Bloc simples para uma tela de login ou tarefas
- Conectando Bloc com a camada de UI
- Debbugando fluxos de eventos e estados
Bloco 5 · Modelando estados de requisições
- Definindo classes de estado: loading, success, empty, error
- Exibindo feedbacks visuais em cada estado
- Tratando erros de rede e tempo limite
- Mini projeto: tela que consome API com todos esses estados
Bloco 6 · Boas práticas, testes e IA
- Organizando pastas por feature para estado
- Estratégias para testar blocos/providers de forma isolada
- Usando IA para revisar e simplificar fluxos de estado
- Checklist de estado antes de conectar mais features
O que você constrói neste módulo
Este módulo é onde o seu app começa a ficar vivo de verdade, reagindo a ações do usuário e a dados externos com previsibilidade.
- Tela com múltiplos componentes controlados via setState bem organizado.
- Um mini app compartilhando estado entre telas via Provider/Riverpod.
- Um fluxo de autenticação ou tarefas usando Bloc.
- Uma tela que consome API com estados de loading, sucesso e erro bem definidos.
- Estrutura de estado pronta para conectar no Firebase/Node nos próximos módulos.
Como a IA te ajuda no Módulo 4
IA para desenhar fluxos de estado
- Gerar diagramas de eventos → estados a partir da descrição do app.
- Pedir ajuda para escolher entre setState, Provider, Riverpod e Bloc.
- Explorar arquiteturas alternativas para o mesmo problema.
- Checar se a modelagem de loading/erro está cobrindo todos os casos.
IA como revisora de código
- Submeter blocos/providers grandes para refatoração guiada.
- Pedir explicações passo a passo de fluxos de eventos e estados.
- Criar testes de unidade baseados em cenários descritos em texto.
- Receber sugestões de melhoria de nomes, separação de responsabilidades e limpeza de código.
Pronto para dominar o coração do seu app?
Ao concluir este módulo, você terá um app com estado organizado, pronto para receber APIs, Firebase e features mais avançadas sem virar um caos.
🚀 Quero participar da mentoria completa🔒 Processo seletivo gratuito · 7 dias de garantia após matrícula
← Voltar para a página principal