Compreendendo o Papel dos Reducers
Teoria
Reducers são funções puras que especificam como o estado deve mudar em resposta às ações despachadas. Ao receber o estado atual e uma ação como parâmetros, os reducers retornam o novo estado da aplicação.
Prática
Na pasta reducers do projeto, está o arquivo counterReducer.js, onde é definido o reducer para a funcionalidade do contador:
import { createReducer } from "@reduxjs/toolkit";
import { increment, decrement } from "../actions/counterAction.js";
const initialState = 0;
const counterReducer = createReducer(initialState,
  (builder) => {
    builder
      .addCase(increment, (state) => state + 1)
      .addCase(decrement, (state) => state - 1);
});
export default counterReducer;
Explicação do código:
- Linha 1: Importa a função 
createReducerdo pacote@reduxjs/toolkit. Esta função é utilizada para criar reducers no Redux; - Linha 2: Importa os criadores de ação 
incrementedecrementdo arquivo../actions/counterAction.js. Estes criadores de ação são usados para definir as ações que o reducer irá tratar; - Linha 4: Define a constante 
initialStatecomo0. Isto representa o valor inicial do contador no store do Redux; - Linha 6: Utiliza a função 
createReducerpara definir ocounterReducer; - Linhas 6-11: A função 
createReducerrecebe dois argumentos: oinitialStatee uma função de callback que define como o estado deve ser atualizado com base nas ações despachadas; - Linha 7: Utiliza o objeto 
builderpara definir os casos para diferentes ações dentro da função de callback; - Linhas 9, 10: Utiliza o método 
addCasedo objetobuilderpara definir como o estado deve ser atualizado quando ações específicas, comoincrementedecrement, são despachadas; - Linhas 9, 10: A função de callback dentro de 
addCaserecebe o estado atual (state) como argumento e retorna o novo estado após aplicar a ação correspondente; - Neste caso, quando a ação 
incrementé despachada, o estado é incrementado em1; quando a açãodecrementé despachada, o estado é decrementado em1; - Linha 13: Por fim, exporta o 
counterReducercomo exportação padrão do módulo. 
Nota
Em resumo, o
counterReducerirá tratar as ações despachadas e atualizar o estado do contador conforme necessário no store do Redux.
1. Qual função é usada para criar reducers no Redux?
2. Qual é o propósito do objeto builder no código?
3. Quando a action increment é disparada, o que acontece com o estado?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 4.17
Compreendendo o Papel dos Reducers
Deslize para mostrar o menu
Teoria
Reducers são funções puras que especificam como o estado deve mudar em resposta às ações despachadas. Ao receber o estado atual e uma ação como parâmetros, os reducers retornam o novo estado da aplicação.
Prática
Na pasta reducers do projeto, está o arquivo counterReducer.js, onde é definido o reducer para a funcionalidade do contador:
import { createReducer } from "@reduxjs/toolkit";
import { increment, decrement } from "../actions/counterAction.js";
const initialState = 0;
const counterReducer = createReducer(initialState,
  (builder) => {
    builder
      .addCase(increment, (state) => state + 1)
      .addCase(decrement, (state) => state - 1);
});
export default counterReducer;
Explicação do código:
- Linha 1: Importa a função 
createReducerdo pacote@reduxjs/toolkit. Esta função é utilizada para criar reducers no Redux; - Linha 2: Importa os criadores de ação 
incrementedecrementdo arquivo../actions/counterAction.js. Estes criadores de ação são usados para definir as ações que o reducer irá tratar; - Linha 4: Define a constante 
initialStatecomo0. Isto representa o valor inicial do contador no store do Redux; - Linha 6: Utiliza a função 
createReducerpara definir ocounterReducer; - Linhas 6-11: A função 
createReducerrecebe dois argumentos: oinitialStatee uma função de callback que define como o estado deve ser atualizado com base nas ações despachadas; - Linha 7: Utiliza o objeto 
builderpara definir os casos para diferentes ações dentro da função de callback; - Linhas 9, 10: Utiliza o método 
addCasedo objetobuilderpara definir como o estado deve ser atualizado quando ações específicas, comoincrementedecrement, são despachadas; - Linhas 9, 10: A função de callback dentro de 
addCaserecebe o estado atual (state) como argumento e retorna o novo estado após aplicar a ação correspondente; - Neste caso, quando a ação 
incrementé despachada, o estado é incrementado em1; quando a açãodecrementé despachada, o estado é decrementado em1; - Linha 13: Por fim, exporta o 
counterReducercomo exportação padrão do módulo. 
Nota
Em resumo, o
counterReducerirá tratar as ações despachadas e atualizar o estado do contador conforme necessário no store do Redux.
1. Qual função é usada para criar reducers no Redux?
2. Qual é o propósito do objeto builder no código?
3. Quando a action increment é disparada, o que acontece com o estado?
Obrigado pelo seu feedback!