没有导航道具的反应本机导航
React Native Navigation Without navigation Prop
React Native Docs 说我们可以在没有 navigation
属性的情况下使用 React Navigation。我在单击通知并重定向到正确的屏幕时使用它:
navigationRef.current?.navigate(routes.ROUTE_TO_SCREEN);
但是,在某些情况下,我需要多次导航(例如,先转到导航器,然后再转到屏幕)。我认为它会以这种方式工作:
navigationRef.current?.navigate(routes.ROUTE_TO_NAVIGATOR);
navigationRef.current?.navigate(routes.ROUTE_TO_SCREEN_INSIDE_NAVIGATOR);
它可以在屏幕上运行,但我首先在控制台上收到一条错误消息:
The action 'NAVIGATE' with payload {"name":"ROUTE_TO_SCREEN_INSIDE_NAVIGATOR"} was not handled by any navigator.
Do you have a screen named 'route_to_screen_inside_navigator'?
尽管它有效,但我认为我做错了什么。我应该等待 navigation.navigate
以某种方式使错误消失还是有其他方法?
我也检查了 navigation in nested navigator docs,但不太了解如何在 navigate
函数中使用 params
进行导航。
编辑:看了上面的link我找到了解决一层导航器的方法,比如:
navigationRef.current?.navigate(routes.ROUTE_TO_NAVIGATOR,
{ screen: "route_to_screen_inside_navigator",
});
但这只适用于一个嵌套的导航器。如果我想重定向两次怎么办?
您可以继续将 params.screen 传递到 navigate
调用中,以不断导航到深层嵌套的屏幕。
React Native Docs 说我们可以在没有 navigation
属性的情况下使用 React Navigation。我在单击通知并重定向到正确的屏幕时使用它:
navigationRef.current?.navigate(routes.ROUTE_TO_SCREEN);
但是,在某些情况下,我需要多次导航(例如,先转到导航器,然后再转到屏幕)。我认为它会以这种方式工作:
navigationRef.current?.navigate(routes.ROUTE_TO_NAVIGATOR);
navigationRef.current?.navigate(routes.ROUTE_TO_SCREEN_INSIDE_NAVIGATOR);
它可以在屏幕上运行,但我首先在控制台上收到一条错误消息:
The action 'NAVIGATE' with payload {"name":"ROUTE_TO_SCREEN_INSIDE_NAVIGATOR"} was not handled by any navigator.
Do you have a screen named 'route_to_screen_inside_navigator'?
尽管它有效,但我认为我做错了什么。我应该等待 navigation.navigate
以某种方式使错误消失还是有其他方法?
我也检查了 navigation in nested navigator docs,但不太了解如何在 navigate
函数中使用 params
进行导航。
编辑:看了上面的link我找到了解决一层导航器的方法,比如:
navigationRef.current?.navigate(routes.ROUTE_TO_NAVIGATOR,
{ screen: "route_to_screen_inside_navigator",
});
但这只适用于一个嵌套的导航器。如果我想重定向两次怎么办?
您可以继续将 params.screen 传递到 navigate
调用中,以不断导航到深层嵌套的屏幕。