【发布时间】:2020-08-20 14:17:02
【问题描述】:
我是新来的反应,我在尝试这个时遇到了一个问题。我在父状态中有一个二维数组,我映射到几个子组件。我在父组件中有一个复选框,单击该复选框应获取所有子组件中的值并更新二维数组。我在父组件中创建了一个函数来执行此操作,并将其作为道具发送给所有子组件,但更改并未反映在父组件中存在的二维数组中。仅更新数组中的第一个元素。请帮帮我。传递给子组件的函数是
updateStudentScores = (
index,
test1,
test2,
exams,
totals,
grades,
remks,
SChek,
bgrnd
) => {
const elementsIndex = this.state.students.findIndex(
(element) => element.RealIndex == index
);
let newArray = [...this.state.tempStudents];
newArray[elementsIndex] = {
...newArray[elementsIndex],
Cas1: test1,
Cas2: test2,
Exam: exams,
Total: totals,
Grade: grades,
Remark: remks,
stillChecked: SChek,
background: bgrnd,
};
this.setState({ tempStudents: newArray });
};
tempStudents 是父组件状态下的二维数组。感谢您的回复
【问题讨论】:
-
为了清楚起见,您应该使用代码更新您的问题
标签: reactjs