React Academy · Aula

Partes do Redux Toolkit e createSlice

Crie a lógica de redução com createSlice, defina ações e conecte tudo ao armazenamento Redux.

Aula 1 de 413 etapas

Partes do Redux Toolkit e createSlice é uma aula grátis de React Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de React Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de React Academy inclui 4 aulas no total.

Boas-vindas

Nesta lição, você criará fatias do Redux Toolkit com createSlice, definirá ações e redutores em um só lugar e os conectará a um store do Redux.

O que é Redux Toolkit?

O Redux Toolkit (RTK) é a maneira oficial e prescritiva de escrever Redux. Ele elimina código repetitivo ao combinar redutores, criadores de ações e o estado inicial em uma única chamada createSlice().

Instalação

Instale o Redux Toolkit e o react-redux.
npm install @reduxjs/toolkit react-redux

createSlice

Chame createSlice() com um nome, initialState e um objeto reducers. O RTK gera automaticamente os criadores de ações e os tipos de ação.
import { createSlice } from '@reduxjs/toolkit';

const counterSlice = createSlice({
  name: 'counter',
  initialState: { value: 0 },
  reducers: {
    increment: state => { state.value += 1; },
    decrement: state => { state.value -= 1; },
    incrementBy: (state, action) => { state.value += action.payload; },
  },
});

export const { increment, decrement, incrementBy } = counterSlice.actions;
export default counterSlice.reducer;

Immer por baixo dos panos

O RTK usa o Immer internamente, portanto você pode escrever com segurança uma lógica de redutor que modifica o estado (`state.value += 1`). O Immer converte isso em uma atualização imutável nos bastidores.

Configurando o armazenamento

Crie o armazenamento do Redux com configureStore() e adicione suas fatias como redutores.
import { configureStore } from '@reduxjs/toolkit';
import counterReducer from './counterSlice';

export const store = configureStore({
  reducer: {
    counter: counterReducer,
  },
});

Disponibilizando o armazenamento

Envolva seu aplicativo em um Provider do react-redux, passando o armazenamento.
import { Provider } from 'react-redux';
import { store } from './store';

createRoot(document.getElementById('root')).render(
  <Provider store={store}><App /></Provider>
);

useSelector e useDispatch

Leia o estado com useSelector e envie ações com useDispatch. Use versões tipadas para TypeScript.
import { useSelector, useDispatch } from 'react-redux';

function Counter() {
  const value = useSelector(state => state.counter.value);
  const dispatch = useDispatch();
  return (
    <>
      <p>{value}</p>
      <button onClick={() => dispatch(increment())}>+</button>
      <button onClick={() => dispatch(incrementBy(5))}>+5</button>
    </>
  );
}

Tipos do TypeScript

Exporte os tipos RootState e AppDispatch de store.ts para obter ganchos totalmente tipados.
export type RootState = ReturnType<typeof store.getState>;
export type AppDispatch = typeof store.dispatch;
// Then use typed hooks:
const value = useSelector((s: RootState) => s.counter.value);

Redutores extras

O campo extraReducers lida com ações de outras fatias ou do createAsyncThunk. Use o padrão de retorno de chamada do builder para adicionar casos.
extraReducers: (builder) => {
  builder.addCase(fetchUser.fulfilled, (state, action) => {
    state.user = action.payload;
  });
}

Verificação rápida

Por que você pode escrever código que modifica o estado, como `state.value += 1`, dentro de um redutor do Redux Toolkit?

Recapitulação

createSlice combina name, initialState e reducers em um único objeto. O Immer permite escrever código de redutor com estilo mutável. configureStore reúne as fatias. useSelector lê o estado; useDispatch envia ações.

A seguir

Próxima lição: **Lógica assíncrona com createAsyncThunk** — você lidará com chamadas à API no Redux usando tipos de ação do ciclo de vida.
Grátis para começar

Aprenda React com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
88
Aulas
324

Perguntas Frequentes

A aula “Partes do Redux Toolkit e createSlice” é grátis?

Sim — o texto completo de “Partes do Redux Toolkit e createSlice” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de React Academy, atualize para CoddyKit PRO. O curso de React Academy inclui 4 aulas no total.

O que vou aprender em “Partes do Redux Toolkit e createSlice”?

Crie a lógica de redução com createSlice, defina ações e conecte tudo ao armazenamento Redux. Você pratica React Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar React Academy?

Nenhuma experiência prévia é necessária. React Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Partes do Redux Toolkit e createSlice”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de React Academy?

Sim. Cada aula de React Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Partes do Redux Toolkit e createSlice
  2. Lógica assíncrona com createAsyncThunk
  3. RTK Query: endpoints e armazenamento automático em cache
  4. Atualizações otimistas e invalidação do cache
← Voltar para React Academy