【发布时间】:2022-09-27 16:39:20
【问题描述】:
我正在迭代一个数组,对于每个元素,我将它传递给一个 handleClick 函数。问题是,在那个handleClick函数里面,如何访问其余元素?
const listOfAnswers = questions[questionNumber].possibleAnswers.map((obj, i, arr) => {
return (
<Button
key={i}
style={
{
margin: \'15px 0\',
}
}
variant=\'contained\'
onClick={e => handleClick(obj, e, arr)}
>
{obj.answer}
</Button>
)
})
const handleClick = async (obj, e, arr) => {
const { isCorrect, answer } = obj
if (isCorrect) {
setScore(score + 1)
e.target.style.backgroundColor = \'green\'
await delay(100)
e.target.style.backgroundColor = \'\'
} else {
e.target.style.backgroundColor = \'red\'
await delay(100)
e.target.style.backgroundColor = \'\'
}
nextQuestion()
}
我想做的是:当用户点击正确的答案时,该按钮变为绿色。这很容易实现。当用户点击错误的答案时,它会变成红色。实现起来也很简单。但我想要的是:当用户点击错误的答案时,我希望正确的答案变成绿色。为此,我认为我需要能够访问其余元素,因为在 handleClick 函数中,您只能访问单个单独的元素。
标签: javascript reactjs