Как перейти к экрану уведомлений при нажатии на уведомление

#react-native #push-notification #firebase-cloud-messaging

#реагировать-родной #push-уведомление #firebase-облако-обмен сообщениями #react-native

Вопрос:

Я настраиваю систему уведомлений с помощью firebase и react native. Это работает нормально, но когда я получаю уведомление в любом состоянии приложения (отключено, переднее или фоновое) и нажимаю уведомление, оно выводит меня на главный экран. Я хочу перейти на экран уведомлений, когда кто-то нажимает на уведомление. Как это будет возможно?

Ответ №1:

Во-первых, вы должны добавить прослушиватель уведомлений Firebase в компонент верхнего уровня. Я предложу разместить его в App.js .

  1. Прослушиватель переднего плана
  2. Фоновый прослушиватель

После этого вам нужно перейти к определенному экрану с помощью навигационного реквизита. если вы разместите прослушиватель в App.js тогда у вас не будет доступа к навигации, поскольку App.js вернет контейнер навигации. Для этого вам нужно создать одну вспомогательную функцию, подобную этой навигации без поддержки

например

 export const App = () => {
  messaging().setBackgroundMessageHandler(async remoteMessage => {
      navigate('Notification'); //navigate to notification screen
  });
  const unsubscribe = messaging().onMessage(async remoteMessage => {
    //generate local notification using your preferred library
    //handle navigation

  })
   
  return <RootNavigator />;
};