如何登录React Native?

sky*_*489 311 logging react-native

如何在React Native中记录变量,比如console.log在开发Web时使用?

Mar*_*cek 318

使用console.log,console.warn等等.

从React Native 0.29开始,您只需运行以下命令即可在控制台中查看日志:

$ react-native log-ios
$ react-native log-android
Run Code Online (Sandbox Code Playgroud)

  • 这不起作用.当我运行`react-native log-ios`**evelopers-Mac-mini com.apple.CoreSimulator.SimDevice.02C1B6C7-2CD2-406E-AC93-DD430E5E3C69 [948](com.apple.videosubscriptionsd)<注意>:服务仅运行0秒.重生10秒钟.** (13认同)
  • 这非常有用,因为启动调试器会使动画变得流畅。 (2认同)
  • @Denis Kniazhev我不认为只有记录错误的选项,但你可以过滤输出.如果您使用的是Mac或Linux:react-native log-android | grep"我的错误过滤器". (2认同)

Yin*_*eng 295

console.log 作品.

默认情况下,在iOS上,它会记录到Xcode内的调试窗格.

从IOS模拟器按(+ D)并按下Remote JS Debugging.这将在localhost上打开一个资源http:// localhost:8081/debugger-ui.从那里使用Chrome Developer工具javascript控制台来查看console.log

  • 以及如何使用atom for React Native在Android中打印控制台日志? (45认同)
  • 请注意,从React Native 0.29及更高版本开始,您可以在不运行调试器的情况下获取日志.只需在项目文件夹中的命令行上运行react-native log-ios或react-native log-android. (17认同)
  • @sandy见[回答](/sf/answers/3208375131/).它不是专门用于Atom,而是可以用于非XCode(又名非macOS)开发 (3认同)

Joe*_*Joe 36

Pre React Native 0.29,在控制台中运行:

adb logcat *:S ReactNative:V ReactNativeJS:V

Post React Native 0.29,运行:

react-native log-ios

要么

react-native log-android

正如马丁在另一个答案中所说.

这显示了所有console.log(),错误,注释等,并导致零减速.

  • +1这个简单的选项.我最后使用了一个稍微变化的命令(在我阅读精细手册之后)来获得时间:`adb logcat -v time -s ReactNativeJS` (3认同)

omp*_*080 33

使用 console.debug("text");

您将在终端内看到日志.

脚步:

  • 运行应用程序:
react-native run-ios        # For iOS
react-native run-android    # For Android
Run Code Online (Sandbox Code Playgroud)
  • 运行记录器:
react-native log-ios        # For iOS
react-native log-android    # For Android
Run Code Online (Sandbox Code Playgroud)

  • 有什么办法只能从console.log进行过滤? (2认同)

goo*_*yun 18

Visual Studio Code有一个不错的调试控制台,可以显示您的console.log.

在此输入图像描述

VS Code通常是React Native友好的.

  • 您能否详细说明VS Code如何从react-native接收调试输出。谢谢! (3认同)

ale*_*ger 16

这是Chrome开发者工具是您的朋友.

通过以下步骤,您可以访问Chrome开发者工具,在那里您可以看到自己的console.log陈述.

脚步

  1. 如果您还没有,请安装Google Chrome
  2. 使用react-native run-android或运行appreact-native run-ios
  3. 打开开发者菜单
    • Mac:?+D 适用于iOS或?MAndroid iOS
    • Windows/Linux:摇动Android手机
  4. 选择 Debug JS Remotely
  5. 这应该在Chrome中启动调试器
  6. 在Chrome中:Tools -> More Tools -> Developer Options并确保您在console标签页上

现在,无论何时console.log执行语句,它都应出现在Chrome开发工具中.官方文档在这里.

  • 这可能会降低开发过程中应用程序的性能。 (2认同)

Oma*_*man 14

开发React Native应用程序时可以使用以下3种方法进行调试:

  1. console.log():在控制台中显示
  2. console.warn():显示在应用程序的黄色框底部
  3. alert():像在网络上一样显示为提示


小智 7

你想记录数据的地方,使用

console.log("data")
Run Code Online (Sandbox Code Playgroud)

要在终端中打印此日志,请在 Android 上使用以下命令:

npx react-native log-android
Run Code Online (Sandbox Code Playgroud)

对于 iOS:

npx react-native log-ios
Run Code Online (Sandbox Code Playgroud)


Mr *_*ker 6

我遇到了同样的问题:控制台消息没有出现在 Xcode 的调试区域中。在我的应用程序中,我按Cmd+D调出了调试菜单,并记得我已将“在 Safari 中调试”设置为打开。

我将其关闭,一些消息被打印到输出消息中,但不是我的控制台消息。然而,其中一条日志消息说:

__DEV__ === false, development-level warning are OFF, performance optimizations are ON"
Run Code Online (Sandbox Code Playgroud)

这是因为我之前已经将我的项目捆绑在一起,以便使用以下命令在真实设备上进行测试:

react-native bundle --minify
Run Code Online (Sandbox Code Playgroud)

该捆绑包没有打开“开发模式”。要允许开发消息,请包含以下--dev标志:

react-native bundle --dev
Run Code Online (Sandbox Code Playgroud)

console.log 消息又回来了!如果您没有捆绑真实设备,请不要忘记重新指向jsCodeLocation本地AppDelegate.m主机(我做到了!)。


小智 6

我更喜欢推荐你们使用React Native Debugger.您可以使用此命令下载并安装它.

brew update && brew cask install react-native-debugger

要么

只需查看下面的链接.

https://github.com/jhen0409/react-native-debugger

快乐黑客!