这是东西:
我在移动设备上有一个本机应用程序,当用户离开我的应用程序并返回时,我正在尝试执行一些权限检查操作。我想避免在登录屏幕上进行权限检查,并考虑现有的应用程序组件树,因此希望获得当前的路由供我使用。现在,我正在使用 5.x 版本的反应导航。
const App = () => {
useEffect(() => {
const handleAppStateChange = (): void => {
// Authority check action
};
AppState.addEventListener('change', handleAppStateChange);
}, []);
return (
<Provider store={store}>
<SafeAreaProvider>
<SafeAreaView>
<RootNavigator />
<OverlayActivityIndicator />
<ActionSheet />
</SafeAreaView>
</SafeAreaProvider>
</Provider>
);
}
现在我遇到了问题:
我不知道如何在根导航器之外获取当前路线。
我的最后选择是将当前路由集成到redux存储中,这将使我的应用程序更加复杂。
还有其他想法吗?
答案 0 :(得分:0)
You can refer this for getting navigation outside components
import { NavigationContainer } from '@react-navigation/native';
import { navigationRef } from './RootNavigation';
export default function App() {
return (
<NavigationContainer ref={navigationRef}>{/* ... */}</NavigationContainer>
);
}
//whereas
import * as React from 'react';
export const navigationRef = React.createRef();
export function navigate(name, params) {
navigationRef.current?.navigate(name, params);
}