javascript - React Native 行为在模拟器中/在设备上/有或没有 Chrome 调试时不同

标签 javascript ios react-native

我正在构建一个 React Native 应用程序(目前仅限 iOS),我发现了一个非常严重的错误,该错误仅在 1.) 在真实设备上运行,以及 2.) 在没有 Chrome 调试的情况下运行时才会出现。 (哎哟,对吧?)

我正在使用 react-native-router-flux使用选项卡,当我点击加载新选项卡路由 (Actions.tabRouteName) 的按钮时,屏幕变为空白。正如我所说,它在模拟器中运行良好,并且在我启用 Chrome 调试时在设备上也运行良好。

我尝试过的其他事情:在另一台设备上运行、重新加载 JS、在 Xcode 中重建应用程序。

在这些不同的运行情况下行为会有所不同的原因是什么?

谢谢。

更新:这似乎与动画和路由切换有关。我发布了更多细节in this Github issue .我还发现了其他人在调试时遇到类似问题的观点的轶事支持 in this Github issue .

最佳答案

Any reason the behavior would be different in these different run cases?

这是因为当你在 Chrome 中使用远程调试时,它实际上是在浏览器中运行 RN 应用程序(然后它使用 V8 JavaScript 引擎)并通过 WebSockets 与模拟器(或设备)通信。当它在没有启用远程调试的情况下运行时,它使用 JavaScript Core。这些环境之间存在许多差异,这些差异可能会导致不一致,因此不要过分依赖仅在启用 JS 调试的情况下运行您的应用程序,它可能会给您错误或隐藏实际上会在真实设备上导致问题的错误。

关于javascript - React Native 行为在模拟器中/在设备上/有或没有 Chrome 调试时不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35134488/

相关文章:

java - Android 应用程序因 firebase-auth (react-native) 崩溃

javascript - ajax 调用 JavaScript 中的正确 URL

javascript - 为什么 JSHint 不显示文件名?

javascript - 关于 Javascript Shorthand object quotes in the key 的问题

ios - 使用唯一键的 NSKeyed 归档器警告

ios - 在我的纹理上绘制形状时,OpenGL 使我的纹理半透明

javascript - 为什么 "string"- "string"是 NaN?

ios - 在后台更新位置不会在后台运行后保持应用程序运行

android - 如何恢复.android文件夹的内容?

reactjs - 如何隐藏和显示加载微调器 - 事件指示器 native react ,管理 Prop 和状态