Как сказать, какая реакция на StackNavigator страница, на которой я нахожусь

Я использую React-native StackNavigator и Redux, и в моем AppMain у меня настроен DeviceEventEmitter.addListener, чтобы дать мне предупреждение, когда что-то происходит. (NativeEventEmitter в случае ios).

Например BeaconDidAppear из контактов.

Но я хочу знать, на какой странице я нахожусь, и тогда, если я нахожусь на странице-заставке или на одной из страниц справки или страниц настроек, мне не нужно показывать предупреждение. Как я могу проверить, на какой странице я нахожусь, чтобы правильно показывать предупреждение? Есть ли способ сделать это из AppMain?

Если нет возможности увидеть текущую страницу, у меня есть два других варианта. Какой лучше?

  1. Когда я перехожу на новую страницу, также устанавливаю состояние в Redux: currentPage. Но тогда я также должен знать, когда я вернусь с этой страницы.

  2. Удалите оповещение и установите состояние, когда событие наступит. На страницах, где я хочу оповещение, покажите "Просмотр", если оповещение появится.

    • Недостаток этого заключается в том, что я должен затем покрыть свой Просмотр над другими вещами, которые там есть (что я не уверен, что знаю, как это сделать), и повторить это снова для каждой страницы, о которой я хочу предупредить.

0 ответов

Другие вопросы по тегам