没有导航道具的反应本机导航

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 调用中,以不断导航到深层嵌套的屏幕。

Reference