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


当前回答

在Debian 8 (Jessie)上调试react-native 0.40.0可以通过在Chromium或Firebug中导航到http://localhost:8081/debugger-ui来完成,而应用程序正在android模拟器中运行。要访问应用程序内的开发人员菜单,在另一个终端窗口运行以下命令,如下所示:

Adb shell输入keyevent 82

其他回答

在react-native的新版本中,您可以使用react-native log-android或react-native log-android查看应用程序在dev模式下的日志。

在文件路径中设置空格会阻止Cmd+D的工作。我把我的项目移动到一个没有空间的位置,我终于让Chrome调试器工作了。看起来像个bug。

你也可以使用自定义库,如果你不想摇你的真实手机每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>
    );
  }
}

当你必须在真正的设备上调试并且你有同事坐在你旁边时,它真的很有用。

首先在你的ios模拟器中,如果你按[command + D]键,然后你可以看到这个屏幕。

然后单击远程调试JS按钮。

之后你可能会看到这样的React本机调试器页面。

然后打开你的检查器[f12],去控制台选项卡调试它!:)

默认情况下,我的ios模拟器没有捕捉到击键,这就是为什么cmd-D不能工作的原因。我必须使用模拟器的菜单打开键盘设置:

硬件>键盘>连接键盘

现在cmd-D启动chrome调试。