【发布时间】:2020-09-04 20:50:37
【问题描述】:
测验通常可以,但是当我在同一个答案中单击 2 次时,我会计算 2 次积分,就像我会单击 100 次一样 在相同的正确答案中,我有 100 分。我不知道如何解决它..请帮助...
问题框:
const QuestionBox = ({ question, options, selected }) => {
const [answer, setAnswer] = useState(options);
return (
<div className="questionBox">
<div className="question">{question}</div>
{(answer || []).map((text, index) => (
<button key={index} className="answerBtn" onClick={() => {
setAnswer([text]);
selected(text)
}}>{text}</button>
))}
</div>
)
}
计算答案:
computeAnswer = (answer, correctAnswer) => {
if (answer === correctAnswer) {
this.setState({
score: this.state.score + 1,
})
渲染:
{this.state.qBank.map(
({ question, answers, correct, id }) => (
<QuestionBox key={id} question={question} options={answers} selected={Answers => this.computeAnswer(Answers, correct)} />
)
)}
【问题讨论】:
标签: javascript reactjs