我有这个
handleChange(e){
this.setState(
update(this.state, {
user: {
$merge: {
firstname_user: this.firstname_user.refs.input.value,
lastname_user: this.lastname_user.refs.input.value,
password_user: this.password_user.refs.input.value,
newPassword_user: this.newPassword_user.refs.input.value,
confirmPassword_user: this.confirmPassword_user.refs.input.value,
}
}
})
)
}
我只想做一个通用setState
。
因为目前,当我更改一个输入时,我的所有值都会被setState
更改。
我试过这样的话,但我可以访问ref
。密钥[e.target.name]
有效,但使用相同的方法,该值不起作用。
this.setState(
update(this.state, {
user: {
$merge: {
[e.target.name]: this.[e.target.name].refs.input.value,
}
}
})
);
请问如何解决?
答案 0 :(得分:1)
似乎是语法错误,请尝试这样做:
$merge: {
[e.target.name]: this[e.target.name].refs.input.value,
}