Я пытаюсь перемещаться при открытии уведомления, которое находится в моем app.js, но оно говорит:
undefined не является объектом (this.props.navigation)
Я использую реагирующую навигацию для навигации между экранами.
app.js:
class App extends Component {
constructor(props) {
super(props);
OneSignal.init('my-id');
OneSignal.addEventListener('received', this.onReceived);
OneSignal.addEventListener('opened', this.onOpened);
OneSignal.addEventListener('ids', this.onIds);
OneSignal.configure(); // triggers the ids event
}
componentWillUnmount() {
OneSignal.removeEventListener('received', this.onReceived);
OneSignal.removeEventListener('opened', this.onOpened);
OneSignal.removeEventListener('ids', this.onIds);
}
onReceived(notification) {
console.log('Notification received: ', notification);
}
onOpened(openResult) {
console.log('Message: ', openResult.notification.payload.body);
console.log('Data: ', openResult.notification.payload.additionalData);
console.log('isActive: ', openResult.notification.isAppInFocus);
console.log('openResult: ', openResult);
this.props.navigation.navigate('EventHistoryComponent',openResult);
}
onIds(device) {
console.log('Device info: ', device);
}
render() {
return (
<Provider store={store}>
<AppNavigator />
</Provider>
);
}
}
export default App;