当应用程序在应用模拟器中运行时,如何用React Native调试他们的React代码?


当前回答

如果你在React原生应用程序开发中使用Atom编辑器中的Nuclide,那么你也可以使用“元素检查器”,这有助于观察开发阶段应用程序在设备上运行时的道具和状态值变化。

在这里了解更多

其他回答

你也可以使用自定义库,如果你不想摇你的真实手机每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: Ctrl + M(模拟器)或摇动手机(在设备中)显示菜单。

对于iOS: Cmd + D或摇晃手机显示菜单

确保你有铬。

在显示的菜单上选择Debug JS远程选项。

Chrome将在localhost:8081/debugger-ui自动打开。您也可以使用此链接手动转到调试器。

那里显示控制台,你可以看到日志被记录。

对于android应用程序。按Ctrl+M选择调试js远程,它将在chrome浏览器中打开一个url http://localhost:8081/debugger-ui的新窗口。你现在可以调试应用程序在chrome浏览器

如果你正在使用Redux,我强烈推荐React Native Debugger。它包括Chrome开发工具,但也有Redux开发工具和React开发工具。

Redux Devtools:这允许你查看你的操作,并在它们之间来回切换。它还允许您查看redux存储,并具有自动区分每个操作的先前状态和更新状态的功能,因此当您在一系列操作中来回执行时,您可以看到这一点。

React Devtools:这允许你检查某个组件,即它的所有道具以及它的组件状态。如果你有一个组件状态的布尔值,它让你点击它来切换它,看看当它改变时你的应用程序是如何反应的。很棒的特性。

Chrome Devtools允许你看到你所有的控制台输出,使用断点,暂停调试器;等。标准调试功能。如果你右键单击Redux Devtools中列出的操作区域,并选择“允许网络检查”,你可以在Chrome Devtools的网络选项卡中检查你的API调用。

总之,把这些都放在一个地方真是太棒了!如果你不需要其中一个,你可以打开/关闭它。获得React本机调试器并享受生活。

在模拟器- react-native Run -ios中运行你的应用程序 按ctrl + d,然后点击Debug JS remote

网页应该在http://localhost:8081/debugger-ui打开,如果没有输入URL,在Chrome中进入这个链接 右键点击页面,点击检查,它应该打开chrome开发工具

转到顶部菜单中的源代码,在右侧的文件资源管理器中找到你的js类文件 您可以将断点放到视图中,并在其中调试代码,如图所示。