対話する必要があるコールバックを含むReact JSXで関数を書いていますthis
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
。また、コールバックは同期的であるため、タイミングの問題について心配する必要はありません。