如何清除反應狀態變量(Array)中的現有數據併爲其分配另一個數組。我嘗試了下面的東西,但它不起作用。如何清除反應狀態數組?
itemsChanged(items) {
this.setState({item : []}) //item is my state variable
this.setState({item : items})
console.log("ITEMS : ",this.state.item) //this will not print the updated value
}
在此先感謝
設置'this.setState({item:items})'應該已經覆蓋現有的數組,如果它是一個不同的項目集合。 'setState'是異步的,所以你的控制檯可能會在動作實際完成之前觸發。 – LoganRx
Pl通過這個:https:// stackoverflow。com/questions/42593202/why-calling-setstate-method-doesnt-mutate-the-state-immediately/42593250#42593250 – Dev
要檢查結果狀態,您需要在處理程序中移動console.log,如下所示:'this。 setState({item:[]},function(){console.log(「ITEMS:」,this.state.item)})' –