有时,需要从无法访问navigation
的地方(例如Redux中间件, request等)触发导航操作。在这种情况下,可以从导航容器中存储导航ref。
如果你是在子组件或者深层嵌套,请使用HOOK useNavigation 等操作
//Nav.js import { navigationRef } from './RootNavigation'; //在根 Nav 添加Ref <NavigationContainer ref={navigationRef}> </NavigationContainer>
//RootNavigation.js import * as React from 'react'; export const navigationRef = React.createRef(); // 需要跳转的地方引入该FN即可 export function navigate(name, params) { navigationRef.current?.navigate(name, params); } //你可以添加并导出更多你想要的Nav操作