如何在 ReactJS 中通过 ref 动态设置状态

How to setState by ref dynamically in ReactJS

我有这个

 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,
                }
            }
        })
    );

请问如何解决?

似乎是语法错误,试试这个:

$merge: {
    [e.target.name]: this[e.target.name].refs.input.value,
}