REACT REDUCER

06/02/2024

0

Olá, estou tentando incrementar um valor na função do Reducer, mas não estou conseguindo. Segue o código abaixo:

const quizReducer = (state, action) => {
  switch (action.type) {
    case "SELECT_RESPONSE":
      const responseCorrect = questions[state.currentQuestion].answer;
      let isCorrect = false
      let newScore = state.score + 1

      if (responseCorrect === action.value) isCorrect = true

      action.type = "CHANGE_QUESTION";
      
      return {
        ...state,
        score: isCorrect ? newScore : state.score
      };
      
    default:
      return state;
  }
};


Meu objetivo é incrementar e levar esse valor incrementado para servir como um novo valor para a propriedade 'score' do 'state'
Os comandos quando a condição for verdadeira estão sendo executados, mas o valor do state.score é incrementado somente uma vez, ou seja, ele sai de 0 (valor inicial), ele vai para 1 (até ai ok), mas após isso, o valor volta pra 0. Fica so nessa de ir de 0 pra 1 e depois voltar pra 0.

Esta é apenas a parte do Switch que eu estou com esse problema.
Ernando Alves

Ernando Alves

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar