我通過從另一個資料中提取資料來設定正確答案狀態的初始值。它給了我不確定的。但相同的值是正確的控制臺日志記錄。
let refinedAnswer = questions[currentQuestion]?.correct_answer;
//correct answer for each question
const [correctAnswer, setCorrectAnswer] = React.useState(refinedAnswer);
console.log("CORRECT ANS", correctAnswer); //undefined
console.log("CORRECT ANS", questions[currentQuestion]?.correct_answer); //value
uj5u.com熱心網友回復:
您需要使用 useEffect 中的值。例如:
useEffect(() => setCorrectAnswer(refinedAnswer), [refinedAnswer])
uj5u.com熱心網友回復:
當“未定義”變成一個值時,您需要添加 useEffect 掛鉤來更新狀態。然后使用正確的值重新渲染組件:
React.useEffect(() => {
setCorrectAnswer(refinedAnswer);
}, [refinedAnswer]);
console.log("CORRECT ANS", correctAnswer);
https://codesandbox.io/s/exciting-sanne-qr0cg?file=/src/App.js
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/406371.html
標籤:
上一篇:什么人需要這行代碼(設備高度)?
