当应用程序在应用模拟器中运行时,如何用React Native调试他们的React代码?
当前回答
在模拟器上按Cmd+D并选择Debug将打开浏览器调试器
其他回答
如果你在连接到笔记本电脑的真实设备上运行应用程序,你可以使用react-native log-ios或react-native log-android通过终端调试它(它也适用于模拟器)
如果你想在默认情况下打开调试:
import { NativeModules } from 'react-native';
if (__DEV__) {
NativeModules.DevSettings.setIsDebuggingRemotely(true)
}
要让它在Android上工作:
npm install --save react-native-devsettings-android
react-native link react-native-devsettings-android
参考:启动一个React Native应用程序,默认启用“调试JS远程”
默认情况下,我的ios模拟器没有捕捉到击键,这就是为什么cmd-D不能工作的原因。我必须使用模拟器的菜单打开键盘设置:
硬件>键盘>连接键盘
现在cmd-D启动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>
);
}
}
当你必须在真正的设备上调试并且你有同事坐在你旁边时,它真的很有用。
假设你想在Android模拟器上显示这个菜单
然后,尝试⌘+m在Mac上的Android模拟器上弹出这个开发设置对话框。 如果没有显示,那么转到AVD >(点击笔编辑模拟器配置)>高级设置>检查启用键盘输入框。 然后重试⌘+m。 如果它没有显示静止,那么去运行模拟器设置和发送键盘快捷键到组合框/下拉菜单,然后选择模拟器控件(默认)选项。
然后重试⌘+m。 我希望这对你有帮助,它对我有用。
推荐文章
- 如何删除默认的导航栏空间在SwiftUI导航视图
- 警告:API ' variable . getjavacompile()'已过时,已被' variable . getjavacompileprovider()'取代
- 安装APK时出现错误
- 碎片中的onCreateOptionsMenu
- TextView粗体通过XML文件?
- 如何使线性布局的孩子之间的空间?
- DSL元素android.dataBinding。enabled'已过时,已被'android.buildFeatures.dataBinding'取代
- ConstraintLayout:以编程方式更改约束
- PANIC: AVD系统路径损坏。检查ANDROID_SDK_ROOT值
- 如何生成字符串类型的buildConfigField
- 在react native中隐藏/显示组件
- Recyclerview不调用onCreateViewHolder
- 如何在iOS中使用Swift编程segue
- Swift -整数转换为小时/分钟/秒
- Android API 21工具栏填充