Я знаю, что здесь есть похожий вопрос ( React Native - Global Event Listener ), но мой App.js не сам компонент, а именно там, где я инициализирую навигацию (response-native-navigation)) с компонентом и redux.
Мой вопрос таков: как я могу вызывать избыточные действия из приемника Bluetooth, если я еще не нахожусь внутри какого-либо компонента?
const store = configureStore();
Navigation.registerComponent("printerapp.ExampleScreen", () => ExampleScreen);
Navigation.registerComponent(
"printerapp.SelectPrinterScreen",
() => props => (
<Provider store={store}>
<SelectPrinterScreen {...props} />
</Provider>
),
() => SelectPrinterScreen
);
Navigation.registerComponent(
"printerapp.SharePlaceScreen",
() => props => (
<Provider store={store}>
<SharePlaceScreen {...props} />
</Provider>
),
() => SharePlaceScreen
);
// ... other component registrations.
BluetoothSerial.on("bluetoothDisabled", () => {
alert("Bluetooth Disabled");
// HERE WANT TO DISPATCH REDUX ACTION
// BUT I DONT KNOW HOW MAKE THAT IF THAT IS NOT A COMPONENT
});
// Start app
export default () => {
Navigation.setRoot({
root: {
stack: {
children: [
{
component: {
name: "printerapp.SelectPrinterScreen"
}
}
],
options: {
topBar: {
title: {
text: "Bluetooth printer"
}
}
}
}
}
});
}