1. Objetivos da Aula

2. Cenário-Problema (2 min)

Imagine um e-commerce React ou Vue com:

  1. Carrinho global.

  2. Badge de itens no header.

  3. Modal mostrando resumo.

    Passar props encadeadas (“prop drilling”) torna-se frágil e difícil de manter quando a árvore cresce12. Daí surge a necessidade de um estado centralizado.

3. Princípios Comuns (Redux & Vuex) (3 min)

Conceito Redux Vuex
Store Objeto imutável único34 Árvore reativa única56
Mutação reducer puro: recebe (state, action) → novo state3 mutation: função sincrona que altera state76
Ação Objeto {type, payload} (pode ser async via thunk)8 action: pode conter lógica assíncrona910
Fluxo View → dispatch → Store → View atualizar View → dispatch/commit → Store → View atualizar
DevTools Time-travel, log de ações1112 Timeline; debug reatividade, travel em Vuex 5.x1314

4. Fluxo de Dados Visual

Após explicar, exiba os diagramas para fixar a ideia:

Fluxo de dados unidirecional no Redux

Fluxo de dados unidirecional no Redux

Fluxo de dados no Vuex

Fluxo de dados no Vuex

5. Código-Base em 3 Etapas (Redux Toolkit) (4 min)

  1. Instalação

    npm i @reduxjs/toolkit react-redux