【发布时间】:2018-05-29 16:50:21
【问题描述】:
我有以下设置:
this.state = {
values: {
id: null,
name: "",
unitName: "",
unitCategory: ""
}
};
当我在表单中更改字段中的值时,我有以下handleChange 函数:
this.setState({
values: {
[e.target.name]: e.target.value
}
});
问题是 - 这会从我的状态中的 values 对象中删除所有其他值,只留下正在修改的值(即 <input name="name" />)。
我怎样才能保留所有其他值?
编辑 代码现在看起来像:
this.setState(prevState => {
console.log(prevState.values);
return {
values: {
...prevState.values,
[e.target.name]: e.target.value
}
};
});
console.log(prevState.values) 返回:
{id: 2, name: "Humidity", unitName: "himidity", unitCategory: "%"}
应该是这样的,但是当我将它传播到values 对象中时,我得到:
TypeError: Cannot read property 'name' of null
【问题讨论】:
标签: reactjs redux react-redux state