reactjs - 通过扩展运算符反应状态操作
问题描述
我有这个初始状态:
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,
},
});
}
推荐阅读
- laravel - 在laravel中上传图像文件不起作用
- java - 创建由列表中缺少的项目组成的列表
- javascript - 将二数组对象转换为一数组对象
- java - 如何防止 JodaTime 周期的负面结果
- python - 带有 Redis 的 Django websockets
- angularjs - 无法使用 AngularJS 在 Spring Web Project 中上传文件?
- html - 自定义配置文件颜色
- sql - 汇总三张表的 SQL 查询
- c++ - NanoMsg (NNG) 和 FlatBuffers 是否适合这个项目?
- javascript - A-tag Target=".."(新窗口)如果已经打开,则不聚焦窗口