react-native - 在 React Native 中需要帮助管理导航器
问题描述
我目前正在实现一个小型 React Native 应用程序,这是我目前拥有的导航器:
const RootNav= createStackNavigator(
{
Login: LogInScreen,
},
);
const TabNav = createBottomTabNavigator(
{
Home: { screen: HomeScreen },
Calendar: { screen: CalendarScreen },
Discussion: { screen: DiscussionScreen },
Profile: { screen: ProfileScreen },
},
);
export const SwitchNav = createSwitchNavigator(
{
AuthLoading: AuthLoadingScreen,
Auth: RootNav,
MainApp: TabNav,
},
{
initialRouteName: 'AuthLoading',
},
);
现在在 HomeScreen 和 CalendarScreen 中,有几个Card
组件应该导航到另一个屏幕,该屏幕的名称EventScreen
是返回到上一个屏幕的选项,createStackNavigator
我认为这应该是另一个屏幕,但我仍然需要帮助什么是设置导航器的正确方法。提前致谢。
解决方案
你可以有一个父母StackNavigator
和它EventScreen
的TabNav
孩子:
const RootNav = createStackNavigator(
{
Login: LogInScreen,
}
);
const HomeNav = createStackNavigator(
{
tabNav: TabNav,
Events: { screen: EventScreen },
}
);
const TabNav = createBottomTabNavigator(
{
Home: { screen: HomeScreen },
Calendar: { screen: CalendarScreen },
Discussion: { screen: DiscussionScreen },
Profile: { screen: ProfileScreen },
}
);
export const SwitchNav = createSwitchNavigator(
{
AuthLoading: AuthLoadingScreen,
Auth: RootNav,
MainApp: HomeNav,
},
{
initialRouteName: 'AuthLoading',
}
);
如果你觉得你将来也需要一个DrawerNavigation
,那么现在就照顾它是个好主意。这篇文章可能会有所帮助。
推荐阅读
- c# - 计算 PictureBox 上的矩形位置时考虑屏幕 DPI
- html - 如果我的输入只包含零,比如 0000,它不会被单个 0 清除
- angular-cli - stylePreprocessorOptions 不适用于测试
- firebase - FCM 前台通知 Java.Lang.IllegalArgumentException 错误
- qt - 在排队连接中传递参数的良好做法
- node.js - Docusign Node.JS JWT 示例 - PEM_read_bio:bad end line
- c# - .NET Uri:使用构造函数组合路径的意外 Uri
- java - 动态表格行 - 在现有表格行中插入文本视图内容
- c# - 当子元素具有特定文本时如何从 XML 中提取父值
- angular - 如何解决由于提供“@ionic-native/AppVersion”或“.../ngx”而导致的问题,并且在调用 AppVersion 的任何方法时出现异常?