当应用程序在应用模拟器中运行时,如何用React Native调试他们的React代码?


当前回答

要调试你的react原生应用程序,只需到以下地址:

localhost: 8081 / debugger-ui 在你的默认浏览器(chrome)和打开开发者工具来调试你的react原生应用程序

其他回答

我没有足够的声誉来评论之前的答案,这些答案都很好。:) 以下是我在开发react-native应用程序时调试的一些方法。

Live reloading react-native makes it super easy to see your changes with the ⌘ + R keys or even just enable live reload and watchman will "refresh" the simulator with the latest changes. If you get an error, you can get a clue from the line number from that red screen. A couple of undo will get you back to working state and start again. console.log('yeah, seriously.') I find myself prefer letting the program run and logging some informations than adding a debugger break point. (tough debugger is useful when trying to work with external packages/libraries and it comes with autocompletion, so you know what other methods you can utilise.) Enable Chrome Debugging with debugger; break point in your program.

这取决于您遇到的错误类型以及您对如何调试的偏好。对于大多数未定义的不是一个对象(评估'something.something'),方法1和2对我来说已经足够好了。

然而,处理由其他开发人员编写的外部库或包将需要更多的努力来调试,因此有一个像Chrome Debugging这样的好工具

有时它来自react-native平台本身,所以谷歌一下react-native问题肯定会有帮助。

希望这能帮助到一些人。

如果你想了解检查网络流量和理解原生UI视图层次结构。通过其可扩展的插件API, React Native Update版本为调试移动应用程序提供了开发人员工具。

Flipper是一个调试移动应用程序的很棒的开发工具。该工具随react-native 62一起发布

在Debian 8 (Jessie)上调试react-native 0.40.0可以通过在Chromium或Firebug中导航到http://localhost:8081/debugger-ui来完成,而应用程序正在android模拟器中运行。要访问应用程序内的开发人员菜单,在另一个终端窗口运行以下命令,如下所示:

Adb shell输入keyevent 82

默认情况下,我的ios模拟器没有捕捉到击键,这就是为什么cmd-D不能工作的原因。我必须使用模拟器的菜单打开键盘设置:

硬件>键盘>连接键盘

现在cmd-D启动chrome调试。

如果你在React原生应用程序开发中使用Atom编辑器中的Nuclide,那么你也可以使用“元素检查器”,这有助于观察开发阶段应用程序在设备上运行时的道具和状态值变化。

在这里了解更多