我正在尝试在reactjs中更新状态的地方做setState。
this.state = {
activePage: 0,
visible: false,
questionType: null,
form: {
title: '',
description: '',
pages: [{
title: '',
description: '',
questions: []
}]
}
};
这是初始状态,在每个数据条目上,我希望所有这些问题都在页面中存在的问题数组下。 为了达到这个目的,我试图做些什么?
onSubmit = (data) => {
console.log('data is ', data);
let newForm = {
...this.state.form
};
// it shows that we can't do this as it is not iterable
newForm.pages.questions = [...newForm.pages.questions, ...data];
this.setState({
newForm
});
}
答案 0 :(得分:0)
这部分代码无法工作,因为pages
是一个数组。您必须提供要修改的页面的索引。
newForm.pages.questions=[...newForm.pages.questions,...data];
应该像
newForm.pages[indexOfPage].questions=[...newForm.pages[indexOfPage].questions,...data];