我试图抓取options
数组中的各个元素,并将其状态更新为用户输入的内容。我的初始状态看起来像questions = [{ qtext : "", options: ["", ""] , answer: "" }]
。到目前为止,我的方法看起来像这样
handleAnswerText: function(e, i) {
e.preventDefault();
this.setState({
questions: this.state.questions.map((question, qIndex) => {
if (qIndex === i) {
return {
qtext: question.qtext,
options: question.options.map((option, oIndex) => {if (oIndex === i && qIndex === i) { return e.target.value} else {return option} }),
answer: question.answer
};
} else {
return question;
}
})
});
},
我知道handleAnswerText
应该知道我要更新的问题索引,以及该问题中的选项索引,但我不确定如何完成此操作。