如何在 React Native 中使用从不同依赖项导入的两个不同模态框?

How can I use two different Modals imported from different dependencies in React Native?

我正在尝试在我的 React 本机应用程序中使用模态。我从不同的依赖项中得到了两种不同的模态。一个仅适用于 IOS 和 Android,另一个仅适用于网络。因此,我尝试在导入时重命名一个,并在显示模态之前检查平台。不幸的是,这不起作用。这是我尝试过的。

import { Platform, Modal} from 'react-native';
import {Modal as WebModal} from 'modal-react-native-web';

<View>
   {Platform.OS === 'web' ?
      <WebModal
          animationType="slide"
          visible={this.state.addScheduleVisible}
          onRequestClose={() => this.toggleAddScheduleModal()}
      >
          <AddSCheduleModal closeModal={() => this.toggleAddScheduleModal()} />
      </WebModal>
     :
     <Modal
          animationType="slide"
          visible={this.state.addScheduleVisible}
          onRequestClose={() => this.toggleAddScheduleModal()}
      >
          <AddSCheduleModal closeModal={() => this.toggleAddScheduleModal()} />
      </Modal>
</View>

移动模式运行良好,但当我 运行 它没有任何错误消息时,它只在网络上显示一个白页。请问我该怎么办?

根据 documentation 没有名为 'web' 的值是其中之一

'ios' | 'android' | 'native' | 'default'

所以你有两个选择

要么使用 {Platform.OS === 'default' ?并将其用作网络 或者换一种方式 {Platform.OS === 'ios' || Platform.OS === 'android' 并渲染移动模式

您当前的白屏问题是因为3个场景都打开了移动模态