Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

226
Visualizações
Why getting a variable as undefined even after updating state?

I have a quiz app in react.js. When the Quiz component sends the props to the Question component, upon logging the options in the Question component it still says undefined.

Quiz:

const Quiz = (props) => {
  const [options,setOptions]=useState(null);
  const [currentQuestion,setCurrentQuestion]=useState(0);
  useEffect(()=>{
    var optionss=[];
    optionss.push(props.questions[currentQuestion].correct_answer);
    props.questions[currentQuestion].incorrect_answers.forEach((ans)=>optionss.push(ans));
    optionss.sort(()=>Math.random()-0.5);
    setOptions(optionss);
  },[props.questions])
  
  
  return (
  <div className='quiz'>
    <span className="subtitle">Welcome ,{props.name}</span>
    <div className="questionInfo">
       <span>{props.questions[currentQuestion].category}</span>
       <span>Score : {props.score}</span> 
    </div>
    <Question 
      questions={props.questions} 
      setQuestions={props.setQuestions}
      currentQuestion={currentQuestion} 
      setCurrentQuestion={setCurrentQuestion}
      options={options}
      correctOption={props.questions[currentQuestion].correct_answer}
     />
  </div>
  );
};

Question:

const Question = ({
      questions,
      setQuestions,
      currentQuestion,
      setCurrentQuestion,
      options,
      correctOption,
     
}) => {
  
  return (
  <div>
      <h1>Question : {currentQuestion+1}</h1>
      <div className="singleQuestion">
        <h2>{questions[currentQuestion].question}</h2>
        <div className="options">
            {options.map((option)=>{
                return(
                    <button 
                     disabled={selected} 
                     key={option} 
                     onClick={()=>{}}
                     className={`singleOption ${selected && handleSelect(option)}`}
                     >{option}</button>
                )
            })}
        </div>
      </div>
  </div>
  );
};

Also while iterating through the options in the Question component gives an error:cannot read properties of null.

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda