fra*_*003 1 javascript react-native react-navigation react-navigation-stack
HomeStackNavigator(stack)
---HomeTabsNavigator(Tab)
---FirstTab(stack)
---CreatePost(screen)
---Posts(Tab)
---Following(screen)
---Feed(screen) <----- functional component in here, lets call it component1
---SecondTab
...
---Screen2
Run Code Online (Sandbox Code Playgroud)
我希望能够从提要屏幕中的功能组件导航到屏幕 2。我尝试查看 React Native 文档中的嵌套导航文档,但没有成功。
您可以使用 RootNavigation 方法:https://reactnavigation.org/docs/navigating-without-navigation-prop/
首先,您在目录根目录中创建一个名为的文件,RootNavigation.js
如下所示:
import * as React from 'react';
export const navigationRef = React.createRef();
export function navigate(name, params) {
navigationRef.current?.navigate(name, params);
}
Run Code Online (Sandbox Code Playgroud)
然后你将navigationRef作为引用传递给你的NavigationContainer:
import * as RootNavigation from './RootNavigation';
// ...
<NavigationContainer ref={RootNavigation.navigationRef}>
<HomeStackNavigator />
</NavigationContainer>
Run Code Online (Sandbox Code Playgroud)
这使您可以从任何地方进行导航。
然后你可以在屏幕上执行如下操作Feed:
const Feed = () => {
// ...
<Button
title="Navigate to SecondTab"
onPress={() => RootNavigation.navigate('SecondTab')}
/>
// ...
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
662 次 |
| 最近记录: |