如何检查react-native应用程序中的网络状态

Hus*_*aik 11 react-native react-native-android react-native-ios

我在这一点上苦苦挣扎,如果在我的手机中,我的网络连接很差,有些我如何调用该服务,则需要更多时间来调用该服务

  • 是否有可能增加获取超时(或)
  • 如何告诉用户您的互联网连接不良.

    为了检查互联网连接,我使用了networkInfo,但它只对连接是否有帮助,但它没有提供有关网络速度的任何信息.

如果可能,任何人都可以给我一些建议,如何解决这个问题,任何帮助非常感谢我使用的是react-native版本:0.29.0

Arn*_*ugo 11

如果您只想知道设备是否具有活动的Internet连接,您可以使用例如来自React Native的NetInfo的isConnected:

import { NetInfo } from "react-native";

NetInfo.isConnected.addEventListener(
  "connectionChange",
  hasInternetConnection =>
    console.debug("hasInternetConnection:", hasInternetConnection)
);
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何找出连接有多好.

  • 最初的问题是关于“网络速度”,而不是连接本身。 (3认同)
  • NetInfo 现已弃用。请改用 [react-native-community/react-native-netinfo](https://github.com/react-native-community/react-native-netinfo)。 (3认同)

Gau*_*Roy 5

在 React Native 0.60 中,直接从 React Native 包导入 netinfo 已被弃用。您必须使用import NetInfo from "@react-native-community/netinfo";位于顶部,它是一个不同的包,需要链接到本机代码。之后,您可以使用 NetInfo 函数,就像之前使用的那样

NetInfo.isConnected.addEventListener(
  "connectionChange",
  hasInternetConnection =>
    console.debug("hasInternetConnection:", hasInternetConnection)
);
Run Code Online (Sandbox Code Playgroud)

请检查 Github 文档以获取相同的React 本机 netinfo