这非常简单,但是当我完成setState时,react没有更新状态。我正在安慰我的值并且newState已更改,但是当我调用this.state时它会保留旧值。
let newState = update(this.state, {newItem: {$apply: function(x) {return x +1;}}, isEditing:{$set:false}, displayArray:{$push: [newObj]}});
this.setState(newState);
console.log("newState::",newState);
//{displayText: "newBook", displayArray: Array(4), isEditing: false, newItem: 1, isEditingAll: false, …}
console.log(this.state);
//{displayText: "newBook", displayArray: Array(3), isEditing: true, newItem: 0, isEditingAll: false, …}
答案 0 :(得分:0)
我发现了问题,我将数组的状态设置为在componentWillReceiveProps期间进入的道具。所以我的状态正在更新,然后再次更新回到道具值。我需要想办法停止从道具中复制。