我在反应项目中使用es6。
componentDidMount() {
userStore.addListener(ViewUpdateTypes.USER_UPDATE,(data)=>this._onChange(data));
userStore.addListener(ViewUpdateTypes.FD_MENU_UPDATE,(data)=>this._onChange(data));
};
现在我想要removeListener,我该怎么做。
答案 0 :(得分:4)
您可以这样做constructor
和Function.prototype.bind
。
constructor(props) {
super(props);
this._onChange = this._onChange.bind(this);
}
componentDidMount() {
userStore.addListener(ViewUpdateTypes.USER_UPDATE, this._onChange);
userStore.addListener(ViewUpdateTypes.FD_MENU_UPDATE, this._onChange);
}
componentWillUnmount() {
userStore.removeListener(ViewUpdateTypes.USER_UPDATE, this._onChange);
userStore.removeListener(ViewUpdateTypes.FD_MENU_UPDATE, this._onChange);
}