的更新後,我的狀態是這樣的:React.js - 再拉深陣列項目
this.state = {
items = []
}
狀態從REST服務,該服務工作正常加載。 但是後來,在國家項目的用戶編輯之一,我用永恆幫手更新狀態:
const newState = update(this.state, {
items: {
[index]: {$set: newItem}
}
});
this.setState(newState);
這會不會重新drawed(渲染方法會過去,但沒有明顯的變化是頁面上進行)我知道爲什麼:
因爲我創建陣列來呈現這樣的:
render(){
let itemsrender=[];
for (let i in this.state.items){
let line="";
if (i<this.state.items.length-1) line=<div className="row line"></div>;
atcrender.push(
<div key={this.state.item[i].id}>
<div className="row" >
<ITEM
item={this.state.items[i]}
onUpdate={this.onUpdate}
onDelete={this.onDelete}
/>
</div>
{line}
</div>
)
}
return(
<div>{itemsrender}</div>
);
}
如果我不能編輯渲染項的方法,有沒有什麼解決方案,我可以做這樣的項目將重新呈現上更新?只有我想到的是創建包裝組件。
您是否嘗試調用'forceUpdate()'? – mguijarr