2017-02-25 46 views
0

SETSTATE我有這個如何由參動態地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, 
       } 
      } 
     }) 
    ); 

請問如何解決?

回答

1

似乎是一個語法錯誤,試試這個來代替:

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