关于 react state的改变数据上面的一点问题

在react当中 比如说

this.state = {
  loginInfo: {
    account: "...",
    password: "..."
  }
}  
this.setState({
  loginInfo: {
   account: "666"
  }
})

如上更改的结果为

loginInfo: {
    account: "666"
  }

loginInfo的值下面的password键消失了,原因是setState这个操作只能改变 this.state下面的数据,不能单独更改数据当中的某些数据,如果需要这么做,可以这样

let {loginInfo} = this.state;
this.setState({
  loginInfo: {
   ...loginInfo,
   account: "666"
  }
})

这样先将loginInfo的值展开,之后需要单独更改的将原来的值覆盖就好了