当应用程序在应用模拟器中运行时,如何用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,重新加载和启用/禁用调试选项。