reactjs - 具有解构变量的 React SetState 提供了错误的结果
问题描述
我handleChange()
根据名称属性使用我的多个输入。
在输入更改时,我将状态设置如下:
this.setState({['user.' + event.target.name]: event.target.value});
我在解构中使用 user 作为字符串来将状态设置为用户对象。所以而不是得到:
user:{userName:'asdasd',userEmail:'ada@asdas.com'}
我实际上得到:
本质上,我的问题是:我如何继续使用handleChange()
解构对象键来处理不同的调用者,但仍然嵌套在用户之下。
解决方案
尝试使用它
const user = {...this.state.user}
user[event.target.name] = event.target.value
this.setState({
user
})