[英]React - Adding a property to an object inside of array in component's state
我正在獲取狀態中的一個對象數組,我正在嘗試為每個對象添加一個屬性。
問題是我可以看到我的屬性被添加到每個對象,但是當我映射所有這些對象並嘗試console.log
,我得到了undefined
添加屬性
addFavourites() {
let data = this.state.data.map((e) => {
e.favourite = false;
return e;
});
return data;
}
state = {
data: []
}
addFavourites在這里調用:
getItem = () => {
this.service
.mergeData()
.then((body) => {
this.setState({
data: body
},
() => {
this.addFavourites();
},
() => {
this.dataToFilter();
});
});
}
componentDidMount(){
this.getItem();
}
在渲染功能中,我看到我的所有對象,包括收藏
console.log(data.map((e) => e));
但這給出了一個未定義的數組
console.log(data.map((e) => e.favourite));
我怎么解決這個問題?
首先,歡迎! 您應該更清楚地知道這個問題是關於React的。
現在回答,每個狀態修改都是使用setState
,所以你的addFavourites
函數應該是這樣的:
addFavourites() {
let data = this.state.data.map((e) => {
e.favourite = false;
return e;
});
this.setState({ data: data });
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.