Desafio: Implementar o Reducer
Etapa 3
Foco na criação de um reducer para lidar com as ações despachadas e atualizar o estado de goals no Redux store. Reducers são funções puras que especificam como o estado deve mudar em resposta às ações.
Exemplo
Desafio
- Abrir o arquivo 
goalReducer.js. - Criar o reducer utilizando a função 
createReducerdo pacote@reduxjs/toolkit. Esta função simplifica o processo de criação de reducers. - Definir o estado inicial de goals como um array vazio (
[]). - Dentro da função 
createReducer, especificar os casos para diferentes ações utilizando as actions criadas no arquivogoalAction.js. - Para adicionar um goal, utilizar o método 
.addCasee passar a actionaddGoalcomo primeiro argumento. Na função de callback correspondente, atualizar o estado adicionando oaction.payload(o goal) ao array de estado. - Para remover um goal, utilizar o método 
.addCasee passar a actionremoveGoalcomo primeiro argumento. Na função de callback correspondente, atualizar o estado retornando um novo array que filtra o goal com ogoal.idcorrespondente do array de estado. 
- A função 
createReducersimplifica o processo de criação de reducers ao fornecer uma sintaxe conveniente. - Utilizar o método 
.addCasedo objetobuilderpara especificar os casos para diferentes ações. - Acessar o payload da action utilizando 
action.payload. 
Tudo estava claro?
Obrigado pelo seu feedback!
Seção 3. Capítulo 5
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
Desafio: Implementar o Reducer
Deslize para mostrar o menu
Etapa 3
Foco na criação de um reducer para lidar com as ações despachadas e atualizar o estado de goals no Redux store. Reducers são funções puras que especificam como o estado deve mudar em resposta às ações.
Exemplo
Desafio
- Abrir o arquivo 
goalReducer.js. - Criar o reducer utilizando a função 
createReducerdo pacote@reduxjs/toolkit. Esta função simplifica o processo de criação de reducers. - Definir o estado inicial de goals como um array vazio (
[]). - Dentro da função 
createReducer, especificar os casos para diferentes ações utilizando as actions criadas no arquivogoalAction.js. - Para adicionar um goal, utilizar o método 
.addCasee passar a actionaddGoalcomo primeiro argumento. Na função de callback correspondente, atualizar o estado adicionando oaction.payload(o goal) ao array de estado. - Para remover um goal, utilizar o método 
.addCasee passar a actionremoveGoalcomo primeiro argumento. Na função de callback correspondente, atualizar o estado retornando um novo array que filtra o goal com ogoal.idcorrespondente do array de estado. 
- A função 
createReducersimplifica o processo de criação de reducers ao fornecer uma sintaxe conveniente. - Utilizar o método 
.addCasedo objetobuilderpara especificar os casos para diferentes ações. - Acessar o payload da action utilizando 
action.payload. 
Tudo estava claro?
Obrigado pelo seu feedback!
Seção 3. Capítulo 5