首页 > 解决方案 > 使用 reactJS 中的变量将值设置为嵌套状态

问题描述

我已经定义了一个变量,它将值作为键粘贴到 userInfo 中。

this.state = {
      userInfo: {
        firstName: "",
        lastName: "",
        email: ""
      }
}
//_________________________________________
onChange = (e)=>{
    var stateChild = e.target.name // stateChild here is variable which will return (firstname, lastName or email) of userInfo
    var userInfo = {
     // ...this.state.userInfo
    }
    userInfo.stateChild = e.target.value; //  I want to paste state child's value here
    console.log(userInfo.stateChild);
}

标签: reactjsstate

解决方案


setState在你的处理程序中没有。你有没有尝试过:

this.state = {
  userInfo: {
    firstName: "",
    lastName: "",
    email: ""
  }
};

onChange = e => {
  this.setState(prevState => ({
    userInfo: {
      ...prevState.userInfo,
      [e.target.name]: e.target.value
    }
  }));
};

推荐阅读