React Native

React Native – NetInfo

React Native NetInfo exposes information about online/offline status. NetInfo notifies continuously about the network state whether it is online or offline. React Native’s NetInfo component is used to check internet connectivity status runtime in react native application. NetInfo is properly works in both android and iOS mobile platforms. Using the NetInfo component we can detect networks status like your mobile is connected to active internet connection or not and also which connection type your mobile phone is using 4G, 3G, 2G and WiFi. In this tutorial we would going to make a react native application with NetInfo Example to Detect Internet Connection in Live App mobile application in both android and iOS platforms. We are going to use react-native-netinfo library in order to check internet connection status.

To Import NetInfo in Code
import NetInfo from '@react-native-community/netinfo'
To Get the Network State Once
NetInfo.getConnectionInfo().then((connectionInfo) => {
  console.log(
     'Initial, type: ' + 
      connectionInfo.type + 
     ', effectiveType: ' + 
      connectionInfo.effectiveType);
});
Subscribe to Network State Updates
const unsubscribe = NetInfo.addEventListener(state => {
  console.log(
     'Connection type: ' + 
      state.type + 
     ', Is connected?: ' + 
      state.isConnected);
});
To Unsubscribe the Network State Update
unsubscribe();

Run the following command to install

npm install @react-native-community/netinfo --save

Link the dependency using below command :

react-native link @react-native-community/netinfo

You need to put the ACCESS_NETWORK_STATE permission in AndroidManifest.xml file. goto YourReactNativeProject-> android -> app -> src -> main -> AndroidManifest.xml and place the below permission inside it.

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Complete Source Code for App.js 

Lets see the complete source code that helps to detect internet connection status using Netinfo library in react native application.

import React, { Component } from 'react';
 
import NetInfo from '@react-native-community/netinfo'
import { AppState, Text } from 'react-native';
 
export default class App extends Component {
  state = {
    appState: AppState.currentState,
  };
  componentDidMount() {
    NetInfo.fetch().then(state => {
      console.log(
         'Connection type: ' + 
          state.type + 
         ', Is connected?: ' + 
          state.isConnected);
    });
    
    const unsubscribe = NetInfo.addEventListener(state => {
      console.log(
         'Connection type: ' + 
          state.type + 
         ', Is connected?: ' + 
          state.isConnected);
    });

  }
  render() {
    return (
      <Text style={{ marginTop: 30, padding: 20 }}>
        NetInfo Example. Please open debugger to see the log
      </Text>
    );
  }
}

Shaiv Roy

Hy Myself shaiv roy, I am a passionate blogger and love to share ideas among people, I am having good experience with laravel, vue js, react, flutter and doing website and app development work from last 7 years.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button