Представьте, что у меня есть два компонента: LoginComponent
и MainScreenComponent
.
. Я создал EventListener на LoginComponent
, который будет получать push-уведомления в любое время.После входа в систему мы переместим пользователя на MainScreenComponent
, поэтому LoginComponent
больше не активен.
class LoginComponent extends Component {
constructor(props, context) {
super(props);
OneSignal.init('xx');
OneSignal.addEventListener('opened', this.onOpened);
this.context = context;
}
}
componentWillUnmount() {
OneSignal.removeEventListener('received', this.onReceived);
OneSignal.removeEventListener('registered', this.onRegistered);
OneSignal.removeEventListener('ids', this.onIds);
OneSignal.removeEventListener('opened', this.onOpened);
}
onOpened(openResult) {
const { dispatch } = this.context.store; //Cannot read property store from undefined?
const boundActions = bindActionCreators(actions, dispatch);
// this.props.storeNotification({ notification: openResult.notification });
}
Поскольку мой слушатель событий остается в LoginComponent
, мне нужно было бы получить доступ к действию, чтобысохранить уведомление, полученное для хранения, но, по-видимому, this.context
не определено?