背景
一次在用react写用户修改时,想着将用户基础信息和用户所属角色存储在state中,然后显示。部分代码如下,结果发现运行出来的结果和预料的不一致。这个是为什么呢??真的是纠结了半个下午。
class UserEdit {
this.state = {
initialValue : {
roleIds : []
}
}
componentDidMount() {
this.treeSelectRoles();
this.showUser(1);
this.userRolesId(1);
}
userRolesId = (id) => {
const _this = this;
const initalValue = _this.state.initialValue;
axios.patch('/backstage/users/'+id+'/roleIds')
.then(function (res) {
console.log(res.data); //[12,13]
_this.setState({
initialValue:{
...initalValue,
roleIds : res.data
}
})
})
.catch(function (err) {
message.error(err.response