带有react导航的 React Native 中的模态窗口

IT技术 javascript node.js reactjs react-native react-navigation
2021-05-15 00:06:23

react-navigation在 React Native 中使用,我想在启动时确定用户是否已登录,如果他/她已经登录,我想打开一个模式窗口(全屏)。

这怎么做最好?我在 react-navigation 文档中找不到任何有条件显示屏幕的内容。

3个回答

看,您需要更改modefrom Navigation。

const RootStack = StackNavigator(
  {
    Main: {
      screen: MainStack,
    },
    MyModal: {
      screen: ModalScreen,
    },
  },
  {
    mode: 'modal',
    headerMode: 'none',
  }
);

您可以在此处运行此代码

截图:

在此处输入图片说明

在此处输入图片说明

参考:

React 有一个 Modal 组件,您可以使用它来显示全屏 Modal。请参阅此处的文档:https : //facebook.github.io/react-native/docs/modal.html

要在用户登录时有条件地显示它,您可以使用“可见”属性。例如,将它放在您的应用加载到的屏幕上:

<Modal
      animationType={"slide"}
      transparent={false}
      visible={this.state.userIsLoggedIn}
      >

你可以这样做:

const ModalNavigator = StackNavigator(
  {
    ModalScreen: { screen: ModalScreen },
  },
  {
    mode: "modal",
    headerMode: "none",
  },
)