使用React Navigation tab navigator https://reactnavigation.org/docs/navigators/tab如何使其中一个选项卡按钮将屏幕作为全屏模式向上推?我看到stack navigator有一个mode=modal选项.单击TakePhoto选项卡按钮时,如何使用该模式?点击它当前仍会显示底部的选项卡栏.

const MyApp = TabNavigator({
  Home: {
    screen: MyHomeScreen,
  },
  TakePhoto: {
    screen: PhotoPickerScreen, // how can I have this screen show up as a full screen modal?
  },
});

推荐答案

实际上,在react-navigation中,没有人支持将动态演示的方式从default改为modal(参见关于here的讨论).我遇到了同样的问题,并通过使用一个顶级的StackNavigator解决了它,headerMode设置为nonemode设置为modal:

const MainTabNavigator = TabNavigator(
    {
        Tab1Home: { screen: Tab1Screen },
        Tab2Home: { screen: Tab2Screen }
    }
);

const LoginRegisterStackNavigator = StackNavigator({
    Login: { screen: LoginScreen }
});

const ModalStackNavigator = StackNavigator({
    MainTabNavigator:          { screen: MainTabNavigator            },
    LoginScreenStackNavigator: { screen: LoginRegisterStackNavigator }
}, {
    headerMode: 'none',
    mode:       'modal'
});

这使我可以在Tab1ScreenTab2Screen中执行以下操作(使用redux),从任何我想要的地方调出模态视图:

this.props.navigation.navigate('LoginScreenStackNavigator');

React-native相关问答推荐

React-Native:请纠正我对状态如何工作的误解 - 动态文本输入

如何在 React Native 中正确地将组件导入到我的导航器中?

react-native react-native-vector-icons:如何使用字体真棒图标

无法在 React Native iOS 模拟器中按 URI 显示图像

React Native Expo - 不再支持 Node.js 版本 11.13.0

你如何在生产模式下运行 react-native 应用程序?

打包程序无法启动

React-Native 应用程序的 Jest 测试 Animated.View

以编程方式在 React Native 中添加组件

cmd : react-native run-android 在每次文件更改时

FlatList contentContainerStyle -> justifyContent: 'center' 导致滚动问题

获取没有地理位置 API React-native 的国家/城市?

react-native android应用程序中的underlineColorAndroid is not a valid style property错误

React Native Negative shadowOffset 创建顶部阴影

react-native async 函数返回 promise 但不返回我的 json 数据?

如何在react-native中绘制虚线边框样式

React-Native 最低 Android API 级别

Android 是否支持 React Native 的 LayoutAnimation?

如何在 React 中将函数与钩子绑定?

React-Native 水平滚动视图分页:预览下一页/卡片