У меня есть приложение React Native, где я использую Headless JS для вызова обработчика при получении уведомления Firebase Cloud Messaging.
Внутри моего обработчика, который является функцией, а не компонентом React, я Я получаю доступ к хранилищу Redux, используя следующий метод:
import store from '../redux/store';
const backgroundNotificationHandler = async message => {
const state = store.getState();
...
Мой вопрос: как я могу обновить хранилище способом, который не является «хакерским»?
В настоящее время у меня есть следующая строка в функции:
state.user.wokenFromBackgroundListener = true;
Удивительно, но работает, но это без отправки действия или использования редуктора.
Есть ли лучший способ сделать это?
Я не могу отправить действие, потому что функция не является компонентом и не является компонентом, потому что этого не может быть - для нее требуется функция, как в документах .
Мой код в индексе. js:
AppRegistry.registerComponent(appName, () => App);
firebase.messaging().setBackgroundMessageHandler(backgroundNotificationHandler);