在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的值展开,之后需要单独更改的将原来的值覆盖就好了