HomeGuidesReferenceLearn

Reference version

ArchiveExpo SnackDiscord and ForumsNewsletter

NetInfo

GitHub

npm

A cross-platform API that provides access to network information.

Android
iOS
tvOS
Web

@react-native-community/netinfo allows you to get information about connection type and connection quality.

Installation

Terminal
npx expo install @react-native-community/netinfo

If you're installing this in a bare React Native app, you should also follow these additional installation instructions.

API

To import this library, use:

import NetInfo from '@react-native-community/netinfo';

If you want to grab information about the network connection just once, you can use:

NetInfo.fetch().then(state => {
  console.log('Connection type', state.type);
  console.log('Is connected?', state.isConnected);
});

Or, if you'd rather subscribe to updates about the network state (which then allows you to run code/perform actions anytime the network state changes) use:

const unsubscribe = NetInfo.addEventListener(state => {
  console.log('Connection type', state.type);
  console.log('Is connected?', state.isConnected);
});

// To unsubscribe to these update, just use:
unsubscribe();

Accessing the SSID

To access the ssid property (available under state.details.ssid), there are a few additional configuration steps:

Android and iOS

iOS only

  • Add the com.apple.developer.networking.wifi-info entitlement to your app.json under ios.entitlements:

    app.json
      "ios": {
        "entitlements": {
          "com.apple.developer.networking.wifi-info": true
        }
      }
    
  • Check the Access Wi-Fi Information box in your app's App Identifier, which can be found here.

  • Rebuild your app with eas build --platform ios or npx expo run:ios.

For more information on API and usage, see react-native-netinfo documentation.