当应用程序关闭React本机时,通知到达时导航到特定视图


  • 当移动应用程序关闭时收到通知时,如何导航到移动应用程序中的特定视图/屏幕
  • 平台 react native v0.61.5 通知包=>

react native firebase v6.2.0react本机推送通知v3.1.9

react navigation v4.0.10

您可以使用react navigation中的NavigationActions

App.js

<AppContainer
ref={navigatorRef => {
NavigationService.setTopLevelNavigator(navigatorRef);}}/>

NavigationService.js

import { NavigationActions, StackActions } from 'react-navigation';
let _navigator;
function setTopLevelNavigator(navigatorRef) {
_navigator = navigatorRef;
}
function navigate(routeName, params) {
_navigator.dispatch(
NavigationActions.navigate({
routeName,
params,
})
);
}
export default {
navigate,
setTopLevelNavigator
}

现在,在firebase的onNotificationOpened函数中,您必须写一行。

NavigationService.navigate('your screen', { param:paramValue })

//您可以用这种格式的通知发送数据

{"至":"FCM_ token";,"collapse_key":"type_a";,"通知":{"身体":"测试";,"标题":"测试标题";

},"数据":{"name":"xyz";}}

//现在您可以在侦听器中获取数据

const notificationOpen=等待firebase.notifications((.getInitialNotification((;

if(notificationOpen({

let {name} = notificationOpen.notification._data;

console.log("Notification data - ", name);
setInitialRoute(name);

}

//现在声明状态变量并更改导航器的initialRoute

const[initialRoute,setInitialRoute]=使用状态('ABC'(;

setInitialRoute(name(;//在通知侦听器中

//现在在导航容器中使用

<Stack.Navigator initialRouteName={initialRoute}>
</Stack.Navigator> 

相关内容

  • 没有找到相关文章

最新更新