当应用程序在应用模拟器中运行时,如何用React Native调试他们的React代码?
当前回答
假设你想在Android模拟器上显示这个菜单
然后,尝试⌘+m在Mac上的Android模拟器上弹出这个开发设置对话框。 如果没有显示,那么转到AVD >(点击笔编辑模拟器配置)>高级设置>检查启用键盘输入框。 然后重试⌘+m。 如果它没有显示静止,那么去运行模拟器设置和发送键盘快捷键到组合框/下拉菜单,然后选择模拟器控件(默认)选项。
然后重试⌘+m。 我希望这对你有帮助,它对我有用。
其他回答
你也可以使用自定义库,如果你不想摇你的真实手机每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>
);
}
}
当你必须在真正的设备上调试并且你有同事坐在你旁边时,它真的很有用。
在文件路径中设置空格会阻止Cmd+D的工作。我把我的项目移动到一个没有空间的位置,我终于让Chrome调试器工作了。看起来像个bug。
在模拟器上按Cmd+D并选择Debug将打开浏览器调试器
你可以从brew安装React本机调试器。它比chrome中的调试器使用起来更舒服
步骤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 ->单击恢复脚本执行按钮(右下角蓝色按钮)
把调试器放在你想暂停脚本的任何地方。
享受调试! !
推荐文章
- 更改UITextField和UITextView光标/插入符颜色
- 如何隐藏动作栏之前的活动被创建,然后再显示它?
- 是否有一种方法以编程方式滚动滚动视图到特定的编辑文本?
- 在Android中将字符串转换为Uri
- 'Project Name'是通过优化编译的——步进可能会表现得很奇怪;变量可能不可用
- 如何在NestedScrollView内使用RecyclerView ?
- 如何设置回退按钮文本在Swift
- 移动到另一个EditText时,软键盘下一步点击Android
- Android应用中的GridView VS GridLayout
- Activity和FragmentActivity的区别
- 右对齐文本在android TextView
- 模拟器慢动作动画现在打开了吗?
- 如何设置断点在内联Javascript在谷歌Chrome?
- 如何为TableView创建NSIndexPath
- 权限拒绝:start前台需要android.permission.FOREGROUND_SERVICE