React 原生行为在模拟器/设备上/有或没有Chrome调试时有所不同
React Native behavior different in simulator / on device / with or without Chrome debugging
我正在构建一个 React Native 应用程序(目前仅限 iOS),我发现了一个非常讨厌的错误,只有在 1.) 在真实设备上运行时才会表现出来,以及 2.)在没有 Chrome 调试的情况下运行。(哎哟,对吧?
我正在使用带有选项卡的 react-native-router-flux,当我点击加载新选项卡路由 ( Actions.tabRouteName
的按钮时,屏幕变为空白。正如我所说,它在模拟器中运行良好,当我启用Chrome调试时,也可以在设备上正常工作。
我尝试过的其他事情:在另一台设备上运行,重新加载JS,在Xcode中重建应用程序。
在这些不同的运行案例中,行为会有所不同的原因是什么?
谢谢。
更新:这似乎与动画和路线切换有关。我在这个Github问题中发布了更多详细信息。我还发现了轶事支持其他人在此 Github 问题中遇到类似的调试问题的想法。
在这些不同的运行案例中,行为会有所不同的原因是什么?
这是因为当您在 Chrome 中使用远程调试时,它实际上在浏览器中运行 RN 应用程序(然后使用 V8 JavaScript 引擎),并通过 WebSockets 与模拟器(或设备)进行通信。当它在未启用远程调试的情况下运行时,它将使用 JavaScript Core。这些环境之间存在许多差异,这些差异可能会导致不一致,因此不要太依赖仅在启用JS调试的情况下运行应用程序,它可能会给您带来错误或隐藏实际上会导致实际在真实设备上出现问题的错误。
相关文章:
- Chrome WebKitGetUserMedia
- JQueryhide()不适用于Mozzilla,但适用于Chrome
- 在chrome.tabs.onCreated之后加载HTML页面
- chrome扩展中的navigator.geolocation.getCurrentPosition
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- chrome扩展更改主机/域警告
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 如何在chrome扩展中重定向到html页面
- Chrome扩展没有't在重新加载之前考虑期权价值
- Google/html5语音识别JavaScript SDK Chrome网络工具包SpeechRecognition
- Jquery-Regex按键操作在Chrome和Firefox中有所不同
- scrollTop()在firefox和chrome中有所不同
- Mac Chrome 悬停事件在窗口最大化时的行为会有所不同
- 在 Firefox 和 Chrome 中,单击 iFrame 中的锚点的行为会有所不同
- 在 ASP.Net 发布模式下投放内容时,Chrome 的呈现方式会有所不同
- React 原生行为在模拟器/设备上/有或没有Chrome调试时有所不同
- Paper.js代码在Chrome开发工具中看起来有所不同
- 当弹出窗口被检查时,Google Chrome的行为会有所不同
- javascript中的日期解析在safari和chrome中有所不同