我正在尝试获得两种方式的绑定,以便在React中为嵌套数组工作。我有它用于部门名称,这是一个简单的单一输入。问题是当我尝试为handleInputChangeArray中的团队数组设置setState时。应用程序中断,我收到一条错误消息,指出this.state.team.map不是函数。
ScrollView
这是我的两个功能:
wrap_content
此输入与我的handleInputChange完美配合
constructor(props) {
super(props);
this.state = {
departmentName: '',
team: [
{
name: '',
title: '',
salary: '',
}
]
}
]
};
this.handleInputChange = this.handleInputChange.bind(this);
this.handleInputChangeArray = this.handleInputChangeArray.bind(this);
}
这不起作用:
handleInputChangeArray(event) {
const target = event.target;
const value = target.type === 'checkbox' ? target.checked : target.value;
const name = target.name;
this.setState(({team}) => ({team: {
...team,
[name]: value,
}}))
}
handleInputChange(event) {
const target = event.target;
const value = target.type === 'checkbox' ? target.checked : target.value;
const name = target.name;
this.setState({
[name]: value
});
}
答案 0 :(得分:1)
您还必须传入index
数组中应更新的对象中的team
,以便您可以将name
属性更改为{ {1}}代表正确的元素。
示例
value