HomeGuidesReferenceLearn

Reference version

ArchiveExpo SnackDiscord and ForumsNewsletter
This is documentation for the next SDK version. For up-to-date documentation, see the latest version (SDK 51).

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 are installing this in an existing React Native app (bare workflow), start by installing expo in your project. Then, follow the additional instructions as mentioned by library's README under "Installation in bare React Native projects" section.

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.