我已經對我在我的 react native 應用程式中遇到的錯誤進行了一些研究
警告:從更新函式內部安排了更新(setState、replaceState 或 forceUpdate)。更新函式應該是純粹的,零副作用。考慮使用 componentDidUpdate 或回呼..
我已經做過研究,但我仍然無法理解它們之間的區別。我的理論想法是從物件陣列中洗掉一個元素,但是當我將 setState 與回呼函式一起使用時,我得到了錯誤。誰能指出我正確的方向或向我展示如何使用componentDidUpdate. 下面的代碼示例現在可以作業,但我覺得它可以改進,我相信這就是我得到錯誤的原因
Delete_Task = (e) => {
this.setState(prevState => {
const tasks = prevState.daily.filter(task => task.ID !== e);
this.setState({daily: tasks});
})
}
uj5u.com熱心網友回復:
您需要回傳新的狀態物件,而不是在外部 setState 回呼中呼叫另一個 setState
改變
this.setState({daily: tasks});
到
return {daily: tasks};
// OR
return {...prevState, daily:tasks}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/406772.html
標籤:
