【问题标题】:Why does opening modal freeze entire app on Android?为什么在 Android 上打开模式会冻结整个应用程序?
【发布时间】:2022-01-01 21:27:58
【问题描述】:

每当我尝试从https://github.com/react-native-modal/react-native-modal 显示Modal 时,它只会在Android 设备(物理设备和模拟器)上运行时冻结应用程序。无法点击任何按钮或输入控件。 iOS 运行良好。

出于测试目的,我制作了一个简单的模态,如下所示:

<Modal isVisible backdropColor="black" backdropOpacity={0.8}>
    <TouchableOpacity onPress={() => { this.hideModal(); }}>
</Modal>

其中hideModal 只是一个将isVisible 的状态更改为false 的简单函数。

不管我在模态框里放了什么内容,或者即使我把它完全留空,它总是会在 android 上冻结。将任何内容移到 Modal 之外都可以正常工作。我用 react-native 自带的 modal 换掉了 react-native-modal,但是还是出现了同样的问题。

react-native 版本是0.64.1

react-native-modal 版本是11.0.1

我无法将这些升级到最新版本,因为该应用的许多其他部分都依赖于这些版本。

【问题讨论】:

    标签: android react-native modal-dialog react-native-modal


    【解决方案1】:

    在isVisible中,通知告诉你模态框是打开还是关闭的变量

    <Modal isVisible={this.modalOpen} backdropColor="black">
      <TouchableOpacity onPress={() => { this.hideModal(); }}>
    </Modal>
    

    https://github.com/react-native-modal/react-native-modal/issues/523

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-13
    • 2022-07-26
    • 2023-01-27
    • 2022-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-12
    相关资源
    最近更新 更多