通过排列运算符进行反应状态操作



我有这个初始状态:

this.state = {
formInfo: {
name: '',
age: '',
height: ''
},
errorMessage: ''
}

编辑表单时,状态应该更新,这就是我目前处理的方式:

handleInputChange = e => {
const { name, value } = e.target
this.setState({
...this.state,
formInfo: {
...this.state.formInfo,
[name]: value
}
})
}

如果这个过程不符合行业标准,你能为我提供一个更好的解决方案来操纵国家吗?

我怀疑是否有更有效的方法来存档这一点。

如果您正在询问最佳实践,那么下面就是最佳实践。你的代码很好。最好避免使用点符号,并提供默认值。

handleInputChange = e => {
const {
target: {
name = '',
value = '',
} = {},
} = e;
const {
formInfo,
} = this.state;
this.setState({
formInfo: {
...formInfo,
[name]: value,
},
});
}

最新更新