React Native 应用程序在具有远程调试的设备上运行时卡在空白屏幕上



我在设备(iPhone 6)上运行我的反应本机应用程序,它加载正常。但是当我启用远程调试时,它似乎可以很好地连接到调试器,但卡在空白屏幕上。

一旦我关闭远程调试,一切就会正常加载。

我在反应原生 0.40.0 上。

请帮忙!

可能有很多原因,就我而言,是缓存造成了问题。建议的解决方案:-

  1. 清洁格拉德鲁 - 要清理gradle转到android文件夹并在其中打开cmd,在cmd中运行" gradlew clean '
  2. 清理 Gradle 后,重新构建您的应用程序运行命令(运行安卓等)
  3. 如果重建后问题存在,请按照步骤4和5进行操作
  4. 转到应用程序的设置并清除应用程序的数据
  5. 现在清除反应本机终端的缓存(react-native start --reset-cache

这些步骤将解决问题!

我通过执行以下操作来克服这种影响:

  1. 转到终端并按"a"重新打开Android设备或模拟器
  2. 关闭移动设备上的应用程序并再次打开
  3. 如有必要,重新启动 R 以重新启动打包程序并清除终端中的缓存

从 iOS 本机模块启动 react 本机模块时,我遇到了同样的问题。

使用捆绑 URL 替换下面提到的代码

    if let bundleUrl = (UIApplication.shared.delegate as? AppDelegate)?.bridge?.bundleURL {
    let mockData:NSDictionary = ["names":
        [
            ["name":"Name 1",],
            ["name":"Name 2"]
        ]
    ]
    
    let rootView = RCTRootView(bundleURL: bundleUrl, moduleName: "modulename", initialProperties: mockData as [NSObject : AnyObject], launchOptions: nil)
    
    let vc = UIViewController()
    vc.view = rootView
    self.present(vc, animated: true, completion: nil)

使用此更新的代码使用 BRIDGE

    if let bridge = (UIApplication.shared.delegate as? AppDelegate)?.bridge {
    let mockData:NSDictionary = ["names":
        [
            ["name":"Name 1",],
            ["name":"Name 2"]
        ]
    ]
    
    let rootView = RCTRootView(bridge: bridge, moduleName: "modulename", initialProperties: mockData as [NSObject : AnyObject])
    
    let vc = UIViewController()
    vc.view = rootView
    self.present(vc, animated: true, completion: nil)
}

解决问题!!

相关内容

  • 没有找到相关文章

最新更新