简体   繁体   English

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

[英]How to setState by ref dynamically in ReactJS

I have this 我有这个

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

 }

I would like to do only one generic setState . 我只想做一个通用的setState

Because currently, when I change one input, all my values are changed by setState . 因为当前,当我更改一个输入时,我的所有值都由setState更改。

I tried something like this, but I can accessed to the ref . 我尝试过类似的方法,但是可以访问ref The key [e.target.name] works, but with the same approach the value doesn't work. [e.target.name]有效,但是用相同的方法,该值无效。

    this.setState(
        update(this.state, {
            user: {
                $merge: {
                    [e.target.name]: this.[e.target.name].refs.input.value,
                }
            }
        })
    );

How to solve that please? 请问如何解决?

Seems to be a syntax error, try this instead : 似乎是语法错误,请尝试以下方法:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM