export default class App extends Component {
...
componentDidMount() {
//registering event listener
BackgroundGeolocation.on('location', this.onLocation, this.onError);
}
onLocation(location) {
//wishing to dispatch an action to update variable in store
}
render() {
return (
<Provider store={store}>
<AlertProvider>
<MainNavigator screenProps={{ isConnected: this.state.isConnected }} />
</AlertProvider>
</Provider>
);
}
}
D'après ce que je comprends, je ne peux pas me connecter au magasin dans ce composant car nous ne faisons que configurer et transmettre le magasin au fournisseur. Comment puis-je éventuellement envoyer une action dans mon événement onLocation
?
Vous pouvez directement envoyer à l'aide de l'objet de magasin.
store.dispatch({type:"UPDATE_VARIABLE", payload:variable.value})
Si vous êtes dans un autre composant où l'objet de magasin n'est pas facilement disponible, exportez-le à partir du composant principal et importez-le à un emplacement où il est nécessaire et utilisez l'instruction ci-dessus
Vous pouvez utiliser ce code et ajouter le constructeur dans la classe comme ceci
constructor(props) {
super(props);
}
onLocation() {
this.props.dispatch({type: GET_THINGS_REQUESTED, payload: value});
}