我寫在反應的功能JSX其中包含需要跟this
引用`this`在陣營JSX
this.socket.on('addWashedMission', washedMission => {
console.log('onAddWashedMission - %s - %s', washedMission.name,
new Date(washedMission.birthtime));
this.state.washedMissions.filter(function(o) {
return o.name === washedMission.name;
}).forEach(function(element, i, arr) {
// HERE IT IS //
this.state.washedMissions.state.washedMissions.slice(
this.state.washedMissions.state.washedMissions.indexOf(element), 1);
});
this.state.washedMissions.push(washedMission);
this.state.washedMissions.sort(function(a,b) {
return b.birthtime - a.birthtime;
});
this.setState({
washedMissions: this.state.washedMissions
});
});
通知的this.state.washedMissions
回調?當我在回調中時,Firefox腳本調試器顯示瀏覽器不知道什麼是this
,因此我無法以這種方式操縱我的數組。
如何確保this
在我的回調範圍內 - 並且注意,回調是同步的,所以我不擔心任何計時問題。
既然你已經在使用箭頭函數,爲什麼不用'forEach'呢? – Lucius
李銀孔是對的。在forEach中使用箭頭功能並解決問題。 –