You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native中NetInfo的getConnectionInfo()来源及缺失问题咨询

解决React Native 0.52.2中NetInfo.getConnectionInfo()不存在的问题

嘿,我刚好踩过这个版本的坑,咱们来快速把它搞定!

问题根源

在React Native 0.50及以上版本,官方已经废弃并移除了NetInfo.getConnectionInfo()方法,取而代之的是NetInfo.fetch()来获取当前网络连接状态信息——这就是你找不到目标方法的核心原因。

解决方案

直接把getConnectionInfo()替换成NetInfo.fetch()即可,这个方法返回一个Promise,你可以用async/await或者.then()来处理结果。

示例代码

import { NetInfo } from 'react-native';

// 用async/await的方式实现
const checkNetworkStatus = async () => {
  try {
    const connectionInfo = await NetInfo.fetch();
    console.log('当前网络信息:', connectionInfo);
    // 可以根据返回信息做逻辑判断
    if (connectionInfo.type === 'wifi') {
      console.log('当前连接的是WiFi网络');
    } else if (connectionInfo.type === 'cellular') {
      console.log('当前使用移动数据');
    }
  } catch (error) {
    console.error('获取网络信息失败:', error);
  }
};

// 调用方法
checkNetworkStatus();

// 也可以用.then()链式调用的方式
NetInfo.fetch()
  .then(connectionInfo => {
    console.log('当前网络信息:', connectionInfo);
  })
  .catch(error => {
    console.error('获取网络信息失败:', error);
  });

额外注意事项

  • 确保你是从react-native核心库导入的NetInfo,0.52.2版本还不需要使用第三方的@react-native-community/netinfo包(这个包是React Native 0.60+才需要的)。
  • 如果需要监听网络状态的实时变化,可以使用NetInfo.addEventListener('connectionChange', (connectionInfo) => { /* 处理状态变化逻辑 */ }),记得在组件卸载时移除监听避免内存泄漏。

内容的提问来源于stack exchange,提问作者JacBar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:57:26