如何在reactjs es6中删除Listener

时间:2015-11-16 06:27:28

标签: javascript reactjs

我在反应项目中使用es6。

componentDidMount() {
        userStore.addListener(ViewUpdateTypes.USER_UPDATE,(data)=>this._onChange(data));
        userStore.addListener(ViewUpdateTypes.FD_MENU_UPDATE,(data)=>this._onChange(data));
};

现在我想要removeListener,我该怎么做。

1 个答案:

答案 0 :(得分:4)

您可以这样做constructorFunction.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);
}