我在设备(iPhone 6)上运行我的反应本机应用程序,它加载正常。但是当我启用远程调试时,它似乎可以很好地连接到调试器,但卡在空白屏幕上。
一旦我关闭远程调试,一切就会正常加载。
我在反应原生 0.40.0 上。
请帮忙!
可能有很多原因,就我而言,是缓存造成了问题。建议的解决方案:-
- 清洁格拉德鲁 - 要清理gradle转到android文件夹并在其中打开cmd,在cmd中运行"
gradlew clean
' - 清理 Gradle 后,重新构建您的应用程序运行命令(运行安卓等)
- 如果重建后问题存在,请按照步骤4和5进行操作
- 转到应用程序的设置并清除应用程序的数据
- 现在清除反应本机终端的缓存(
react-native start --reset-cache
)
这些步骤将解决问题!
我通过执行以下操作来克服这种影响:
- 转到终端并按"a"重新打开Android设备或模拟器
- 关闭移动设备上的应用程序并再次打开
- 如有必要,重新启动 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)
}
解决问题!!