【发布时间】:2021-07-19 22:40:30
【问题描述】:
我正在尝试在 React 中创建一个 Trivia 应用程序,但在用户从给定选项中选择答案后,我无法更改背景颜色。我正在尝试通过一些个人更改来做 freeCodeCamp 的测验应用程序。
它目前所做的是将每个按钮着色为绿色或红色,具体取决于答案是正确还是错误,我只想针对已通过 backgroundColor 更改单击的特定按钮,其余部分保持原样.
所以,在这里我有一个 div,我在其中绘制了不同按钮上的答案选项:
<div className='answer-Section'>
{currentQuestion.answerOptions.map((elem) => (
<button
className='answer-Button'
onClick={() => handleAnswerClick(elem.isCorrect)}
style={{
backgroundColor: isAnswered ? bgAnswered : bgNeutral,
}}
>
{elem.answerText}
</button>
))}
</div>
这里是映射按钮上的 onClick 事件处理程序:
const handleAnswerClick = (isCorrect) => {
setIsAnswered(true)
isCorrect ? setScore(score + 1) : setScore(score)
isCorrect ? setBgAnswered('green') : setBgAnswered('red')
setTimeout(() => findNextQuestion(), 1000)}
const findNextQuestion = () => {
setIsAnswered(false)
const nextQuestion = currentQuestionNumber + 1
if (nextQuestion === questions.length) {
setShowScore(true)
} else {
setCurrentQuestionNumber(nextQuestion)
}}
【问题讨论】:
-
用户可以尝试多次回答还是只有一次机会?
-
不行,他们只能回答一次。
-
好的,我现在尝试创建一个答案
-
谢谢,不胜感激。
标签: javascript reactjs