Currently i'm doing a quiz composed by multiple categories that can be chosen by the user and i wanna check if the user responded to all questions. For doing that, i compared the number of questions he answered with the number of questions gived by the api response. The problem is that i have an "submit answers" button at the end of the last question, with that onClick function:
const sendAnswers = (e, currentQuiz) => {
        setQuizzes({...quizzes, [currentQuiz]:answers});
        setAnswers([])
        var answeredToAllQuestions = true
        
        DataState.map(function (quiz) {
            if(quiz.category in quizzes){
                if(Object.keys(quiz.questions).length !== Object.keys(quizzes[quiz.category]).length){
                    answeredToAllQuestions=false;
                }
            }
        }); 
        if(answeredToAllQuestions === false){
            setAlertTrigger(1);
        }
        else{
            setNumber(number+1);
        }
    
}
in that function i use setState on this line: setQuizzes({...quizzes, [currentQuiz]:answers}); to upload the answers he checked on the last question before checking if he answered to all questions. The problem is that state of quizzes is not updated imediatly and it s not seen by the if condition.
I really don't know how am i supposed to update the state right after setting it because, as i know, react useState updates the state at the next re-render and that causes trouble to me..
 
     
    