![]() |
精明的书包 · sql中时间以5分钟,半个小时,任意间隔分组 ...· 6 月前 · |
![]() |
细心的匕首 · 如何在dotnet命令失败后停止powers ...· 7 月前 · |
![]() |
跑龙套的大熊猫 · html中div设置屏幕的高度占比_div ...· 9 月前 · |
![]() |
卖萌的葡萄酒 · 周鸿祎内部信:360员工不会被GPT淘汰,鼓 ...· 1 年前 · |
当应用程序在应用程序模拟器中运行时,如何使用React Native调试其React代码?
默认情况下,我的ios模拟器不能识别按键,这就是cmd-D无法工作的原因。我不得不使用模拟器的菜单打开键盘的设置:
硬件>键盘>连接键盘
现在cmd-D启动chrome调试。
除了其他答案之外。可以使用调试器语句调试react-native
示例:
debugger; //breaks execution
您的chrome dev工具必须处于打开状态才能运行
adb logcat *:S ReactNative:V ReactNativeJS:V
在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",
现在,这只是登录你的代码的问题。例如:
console.tron.log('debug')
在Debian8(杰西)上调试原生反应0.40.0可以通过在Chromium或Firebug中导航到 http://localhost:8081/debugger-ui 来完成,而你的应用程序正在安卓模拟器中运行。要访问应用程序内开发人员菜单,请在另一个终端窗口中运行以下命令,如 here 所示
adb shell input keyevent 82
试试这个程序: https://github.com/jhen0409/react-native-debugger
适用于:
windows
、
osx
和
linux
。
支持:
react native
和
redux
您还可以检查虚拟组件树并修改反映在应用程序中的样式。
对于android应用程序,.Press Ctrl+M选择debug js remotely,它将在chrome中打开一个带有url http://localhost:8081/debugger-ui 的新窗口。您现在可以在chrome浏览器中调试应用程序
您可以从brew安装React Native Debugger。在chrome中使用它比使用调试器更舒适
非常简单,只有两个命令
For IOS $ react-native log-ios
For Android $ react-native log-android
如果您使用的是Microsoft Visual Code,请安装React Native Tools扩展。然后,您只需单击所需的行号即可添加断点。按照以下步骤设置和调试应用程序:
如果您使用模拟器,不要忘记在模拟器中远程启用Debug JS。
这真的取决于我在做什么。如果我正在进行UI更改或调试UI,我通常会打开实时和热重新加载,并进行更改,然后立即获得反馈。如果是更技术性的东西,我会打开JS调试来查看应用程序的状态。然而,因为在原生react中重新加载太快,如果状态太混乱,我只需要控制台日志。
如果你在连接到笔记本电脑的真实设备上运行你的应用程序,你可以使用
react-native log-ios
或
react-native log-android
通过终端对其进行调试(它也适用于模拟器)
我使用的一种技术非常类似于Android中的调试策略,那就是在我所有的.js文件中包含一个名为TAG的全局变量。
const TAG = 'APP_NAME+SCREEN_NAME';
然后,在需要的地方,我会这样做:
console.log(TAG + 'ACTION');
这样,我就可以跟踪操作并查看日志语句的来源。
这实际上很简单。只需按cmd D(如果在mac上),模拟器将创建一个弹出式菜单。从那里只需点击"Debug JS Remotely“或类似的东西。请注意,众所周知,在执行与某些包相关的代码时运行调试器会给人们带来问题。我在使用react-native-map和调试器时遇到了问题。但那是固定的。不过,在大多数情况下,您应该会很好。
如果您想在Windows上使用android设备进行调试,只需打开命令提示符,然后键入(确保您的adb工作正常)
adb shell input keyevent 82
它将提示一个类似于该图像的屏幕
然后选择
debug JS Remotely
它将自动打开一个新的window.then open inspect元素或按F12进入控制台。
如果你在Atom编辑器中使用Nuclide进行React Native App开发,那么你也可以使用“元素检查器”,它可以帮助观察开发阶段应用在设备上运行时道具和状态值的变化。
了解更多信息 here
还有一个非常好的调试器名称Reactotron。 https://github.com/infinitered/reactotron
您不必处于调试模式才能看到一些数据值,并且有很多选项。
去看看真正有用的东西吧。;)
在新版本的react-native中,您可以使用
react-native log-android
或
react-native log-android
在开发模式下查看应用程序的日志。
对于Android系统: Ctrl +M(模拟器)或摇动手机(在设备中)以显示菜单。
对于iOS: Cmd +D或摇动手机以显示菜单
确保你有chrome。
在显示的菜单上,选择Debug JS Remotely选项。
Chrome将在localhost:8081/debugger-ui中自动打开。您也可以使用此链接手动转到调试器。
在那里显示控制台,您可以看到被记录的日志。
您可以使用Safari来调试您的应用程序的iOS版本,而无需开启“远程调试JS”,只需按照以下步骤操作:
1. Enable Develop menu in Safari: Preferences → Advanced → Select "Show Develop menu in menu bar"
2. Select your app's JSContext: Develop → {Your Simulator} → Automatically Show Web Inspector for JS JSContext