McG*_*McG 241 debugging android ios react-native
当应用程序在应用程序模拟器中运行时,如何使用React Native调试其React代码?
小智 76
要调试您的react应用程序的javascript代码,请执行以下操作:
Command + D并在http:// localhost:8081/debugger-ui上打开一个网页.(目前仅限Chrome)或使用Shake GestureCommand + Option + I按钮打开Chrome开发者工具,或通过View- > Developer- > 打开它Developer Tools.安装适用于Google Chrome 的React Developer Tools扩展程序.如果React在打开开发人员工具时选择选项卡,则可以导航视图层次结构.
要激活Live Reload,请执行以下操作:
Control + Command + Z.Enable/Disable Live Reload,Reload和Enable/Disable Debugging选项.Joh*_*Lim 51
对于Android应用程序,如果您正在使用Genymotion,您可以通过按切换菜单CMD + m,但您可能必须通过执行此操作在菜单中启用它.

CMD + m单击chrome中的debug启用它dri*_*oda 28
除了其他答案.您可以使用调试器语句调试react-native
例:
debugger; //breaks execution
Run Code Online (Sandbox Code Playgroud)
您的chrome dev工具必须打开才能工作
Rob*_*Rob 25
试试这个程序:https://github.com/jhen0409/react-native-debugger
适用于:windows,osx和linux.
它支持:react native和redux
您还可以检查虚拟组件树并修改应用程序中反映的样式.
bps*_*v21 20
如果你想在Windows上使用Android设备进行调试,只需打开命令提示符,然后输入(确保你的adb正常工作)
adb shell input keyevent 82
Run Code Online (Sandbox Code Playgroud)
然后选择
debug JS Remotely
Run Code Online (Sandbox Code Playgroud)
它将自动打开一个新窗口.然后打开检查元件或按F12键进入控制台.
BdN*_*504 15
在你的应用程序在android模拟器中运行时,可以通过导航到Chromium或Firebug中的http:// localhost:8081/debugger-ui来调试 Debian 8(Jessie)上的react-native 0.40.0 .访问中,应用程序开发人员的菜单,在另一个终端窗口中运行以下命令,指出这里:
adb shell input keyevent 82
小智 14
我没有足够的声誉评论以前的答案,这些答案很棒.:)以下是我在开发react-native app时调试的一些方法.
实时重装
react-native使用⌘+ R键可以非常轻松地查看更改,甚至可以启用实时重新加载,而watchman将使用最新更改"刷新"模拟器.如果您收到错误,可以从该红色屏幕的行号中获取线索.一些撤消将使您恢复工作状态并重新开始.
console.log('yeah, seriously.')
我发现自己更喜欢让程序运行并记录一些信息而不是添加debugger断点.(艰难的调试器在尝试使用外部软件包/库时非常有用,并且它带有自动完成功能,因此您可以了解可以使用的其他方法.)
Enable Chrome Debuggingdebugger;在程序中有断点.
那么它取决于您遇到的错误类型以及您如何调试的偏好.对于大多数人来说undefined is not an object (evaluating 'something.something'),方法1和方法2对我来说已经足够了.
而处理外部库或其他开发人员编写的包需要更多的努力来调试,因此这是一个很好的工具 Chrome Debugging
有时它来自本地反应平台本身,因此谷歌搜索反应原生问题肯定会有所帮助.
希望这有助于那里的人.
小智 10
adb logcat *:S ReactNative:V ReactNativeJS:V
Run Code Online (Sandbox Code Playgroud)
在Android日志终端中运行此命令.
对我来说,在React-Native上调试的最佳方法是使用"Reactotron".
安装Reactotron然后将这些添加到你的package.json:
"reactotron-apisauce": "^1.1.2",
"reactotron-react-native-under-37": "^1.1.2",
"reactotron-redux": "^1.1.2",
Run Code Online (Sandbox Code Playgroud)
现在,只需登录您的代码即可.例如:console.tron.log('debug')
转到顶部菜单中的源代码,在右侧文件资源管理器中找到您的js类文件
您可以在视图中放置断点并调试其中的代码,如图中所示.
Flipper是 Android 和 iOS 移动调试工具,无需在 React Native 中使用调试模式。
从 RN 0.62(见此链接)开始,Flipper使用默认项目进行初始化。
Flipper 有一些用于调试的插件。插件包括Layout, Network,Shared preferences
Flipper 最大的好处是插件不是很多,但是你也可以很容易地看到 Android / iOS 设备控制台调试。
Flipper 也会提醒您有关崩溃或网络拒绝的信息。
布局插件包括无障碍模式和目标模式。
您还可以在应用程序中查看原始网络请求/响应。
如果要默认启用调试:
import { NativeModules } from 'react-native';
if (__DEV__) {
NativeModules.DevSettings.setIsDebuggingRemotely(true)
}
Run Code Online (Sandbox Code Playgroud)
要使其在 Android 上运行:
npm install --save react-native-devsettings-android
react-native link react-native-devsettings-android
Run Code Online (Sandbox Code Playgroud)
参考:启动 React Native 应用程序,默认启用“Debug JS Remotely”
小智 7
首先在你的 ios 模拟器中,如果你按下 [command + D] 键,那么你可以看到这个屏幕。
然后单击远程调试 JS 按钮。
之后你可能会看到这样的 React Native Debugger 页面。
然后打开您的检查器 [f12],并转到控制台选项卡调试它!:)
小智 6
对于Android应用程序.按Ctrl + M远程选择调试js它将在chrome中打开一个新窗口,其中包含url http:// localhost:8081/debugger-ui.您现在可以在Chrome浏览器中调试应用程序
对于Android:Ctrl + M(模拟器)或摇动手机(在设备中)以显示菜单。
对于iOS:Cmd + D或摇动手机以显示菜单
确保您有铬。
在显示的菜单上,选择Debug JS Remotely Option。
Chrome将在localhost:8081 / debugger-ui上自动打开。您也可以通过此链接手动转到调试器。
在那里显示控制台,您可以看到记录的日志。
默认情况下,我的ios模拟器没有接受击键,这就是为什么cmd-D不起作用的原因.我不得不使用模拟器的菜单打开键盘的设置:
硬件>键盘>连接键盘
现在cmd-D启动了chrome调试.
您可以使用 Safari 调试 iOS 版本的应用程序,而无需启用“远程调试 JS”,只需按照以下步骤操作:
\n\n1. Enable Develop menu in Safari: Preferences \xe2\x86\x92 Advanced \xe2\x86\x92 Select "Show Develop menu in menu bar"\n2. Select your app\'s JSContext: Develop \xe2\x86\x92 {Your Simulator} \xe2\x86\x92 Automatically Show Web Inspector for JS JSContext\n3. Safari\'s Web Inspector should open which has a Console and a Debugger\nRun Code Online (Sandbox Code Playgroud)\n
这是使用react native调试器应用程序的另一种方法。
您可以使用以下链接下载应用程序,它是用于管理redux存储以及源代码的非常好的应用程序。
现在,您也可以直接使用下面的链接来帮助您。
| 归档时间: |
|
| 查看次数: |
163955 次 |
| 最近记录: |