首頁 > web前端 > js教程 > 主體

如何在不留間隙的情況下從 React State 中刪除項目?

Barbara Streisand
發布: 2024-11-26 16:12:10
原創
268 人瀏覽過

How to Remove Items from React State Without Leaving Gaps?

從 React State 中刪除項目

問題涉及從 React 狀態中的陣列中刪除項目,例如「Bob」。挑戰來自於必須保持陣列的完整性而不留下任何空缺。

之前,嘗試使用刪除突變手動刪除 Bob 失敗了。相反,建議採用遵循 React 原則的解決方案。

不可變數組操作

React 禁止直接操作狀態值。若要變更狀態內的數組,必須建立新副本。

Array.prototype.filter()

最直接的方法是利用 Array.prototype。 filter() 建構一個新數組,省略要刪除的項目。例如:

removePeople(e) {
  this.setState({people: this.state.people.filter(function(person) {
    return person !== e.target.value;
  })});
}
登入後複製

此程式碼透過迭代 this.state.people 中的每個元素來建立一個新陣列。如果名稱不等於要刪除的項目(例如“Bob”),則它將保留在新數組中。

結論

利用filter()確保狀態不變性並維護數組的完整性,消除刪除留下的任何空槽。

以上是如何在不留間隙的情況下從 React State 中刪除項目?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板