[英]React: pushing item into state array
試圖避免重復的問題,但我認為這與我之前搜索的問題有所不同。
我有一個“收藏夾”狀態,它是一系列項目。 我想在以下函數中向數組中添加一個項目。 我正在創建一個具有收藏夾值的變量,然后將新值推入該數組變量並將收藏夾狀態設置為新變量。
這對我有用,但我想看看這是否是一種不正確的方式。
handleAddFavorite(item) {
let favorites = this.state.favorites;
favorites.push(item);
this.setState({
favorites: favorites
});
}
要將項目推入狀態數組,您可以使用ES6 擴展語法,如下所示:
this.setState({
favorites: [...this.state.favorites, item]
});
您正在引用數組而不是創建一個新數組。
創建新數組的一種方法是使用ES2015 數組 spread :
handleAddFavorite(item) {
const {favorites} = this.state;
this.setState({
favorites: [...favorites, item]
});
}
在這里,您不能像這樣將對象推送到狀態數組。 您可以在普通數組中按自己的方式推送。 在這里你必須設置狀態,
this.setState({
favorites: [...this.state.favorites, item]
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.