2015-11-16 2 views
0

Я использую es6 в проекте реакции.Как удалитьListener в reactjs es6

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

Теперь я хочу removeListener, что мне делать.

ответ

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); 
} 
+0

большое спасибо – laszlo

+0

@laszlo если ответ вас устраивает, вы должны принять его (есть галочка слева). – Pavlo