当应用程序在应用模拟器中运行时,如何用React Native调试他们的React代码?
当前回答
对于Android应用程序,如果你正在使用Genymotion,你可以通过按CMD + m来切换菜单,但你可能必须在菜单中启用它。
取消小部件 通过CMD + m单击debug在chrome中启用它
其他回答
你也可以使用自定义库,如果你不想摇你的真实手机每2分钟
我创建了一个库,允许你在开发模式下使用3个手指触摸而不是摇晃来打开开发菜单
https://github.com/pie6k/react-native-dev-menu-on-touch
你只需要在里面包装你的应用程序:
从react-native-dev-menu-on-touch导入DevMenuOnTouch; //或:import {DevMenuOnTouch} from 'react-native-dev-menu-on-touch'
class YourRootApp extends Component {
render() {
return (
<DevMenuOnTouch>
<YourApp />
</DevMenuOnTouch>
);
}
}
当你必须在真正的设备上调试并且你有同事坐在你旁边时,它真的很有用。
步骤1: 把调试器放在你想要停止脚本的地方,比如:
async saveItem(item, selectedValue) {
debugger
try {
await AsyncStorage.setItem(item, selectedValue);
}
catch (error) {
console.error('AsyncStorage error: ' + error.message);
}
}
这将在控制到达此代码块时暂停调试器。
步骤2: 在ios模拟器上按Cmd+D,在Android模拟器上按Cmd+M。 如果你有真正的设备,摇动设备打开开发菜单,如果你不想摇动设备,请关注这个博客
步骤3: 选择启用远程JS调试,这将打开Chrome
步骤4: 选择开发人员工具。
步骤5: 在源代码中编写调试器的任何地方,调试器都会在Sources选项卡中暂停。进入控制台,输入任何你想调试的参数(出现在代码块中),例如: 要移动到下一个调试器点,再次移动到Sources ->单击恢复脚本执行按钮(右下角蓝色按钮)
把调试器放在你想暂停脚本的任何地方。
享受调试! !
你可以从brew安装React本机调试器。它比chrome中的调试器使用起来更舒服
这真的取决于我在做什么。如果我正在更改UI或调试UI,我通常会打开实时和热重新加载并进行更改,然后获得即时反馈。如果它是更技术性的东西,我打开JS调试来查看应用程序的状态。然而,因为在react本机中重新加载是如此之快,如果状态太混乱,我只是控制台日志。
调试React原生应用程序
要调试react应用程序的javascript代码,请执行以下操作:
在iOS模拟器中运行应用程序。 按Command + D,打开一个网页http://localhost:8081/debugger-ui。(Chrome只现在)或使用摇手势 为更好的调试体验启用暂停捕获异常。 按命令+选项+ I打开Chrome开发工具,或通过视图->开发人员->开发人员工具打开。 现在您应该能够像往常一样进行调试了。
可选
为谷歌Chrome安装React开发人员工具扩展。当开发人员工具打开时,如果你选择React选项卡,这将允许你在视图层次结构中导航。
生活重新加载
要激活Live Reload,请执行以下操作:
在iOS模拟器中运行应用程序。 按Control + Command + Z键。 您现在将看到启用/禁用Live Reload,重新加载和启用/禁用调试选项。
推荐文章
- Swift:声明一个空字典
- 如何为KnockoutJS调试模板绑定错误?
- 如何在TextView中添加一个子弹符号?
- 如何在构建目标之外生成gcc调试符号?
- PreferenceManager getDefaultSharedPreferences在Android Q中已弃用
- 在成功提交我的应用程序后,“太多符号文件”
- 在Android Studio中创建aar文件
- 首先添加一个UIView,甚至是导航栏
- 修改抽射超时时间
- 如何通过数据从第二个活动到第一个活动时按回?——安卓
- 如何在android中获得当前前景活动上下文?
- 如何在Android中获取当前日期?
- 获取Android设备名称
- 在WebView中上传文件
- 加载HTML文件到WebView