expo-network
Version: 55.0.6
Provides useful information about the device’s network such as its IP address, MAC address, and airplane mode status.
Installation
npx expo install expo-network
Usage
import * as Network from 'expo-network';
// Get IP address
const ip = await Network.getIpAddressAsync();
console.log('IP:', ip);
// Get network state
const state = await Network.getNetworkStateAsync();
console.log('Connected:', state.isConnected);
console.log('Type:', state.type);
// Check airplane mode
const airplaneMode = await Network.isAirplaneModeEnabledAsync();
console.log('Airplane mode:', airplaneMode);
API Reference
Methods
Gets device IP addressconst ip = await Network.getIpAddressAsync();
// Returns: "192.168.1.100"
getNetworkStateAsync()
() => Promise<NetworkState>
Gets network connection stateconst state = await Network.getNetworkStateAsync();
console.log(state.isConnected); // true/false
console.log(state.isInternetReachable); // true/false
console.log(state.type); // NetworkStateType enum
isAirplaneModeEnabledAsync()
Checks if airplane mode is enabledconst enabled = await Network.isAirplaneModeEnabledAsync();
Types
NetworkState
Network type: NONE, UNKNOWN, CELLULAR, WIFI, BLUETOOTH, ETHERNET, WIMAX, VPN, OTHER
Whether device is connected to network
Whether internet is reachable
Examples
Check Connection
import * as Network from 'expo-network';
async function checkConnection() {
const state = await Network.getNetworkStateAsync();
if (!state.isConnected) {
alert('No network connection');
return false;
}
if (!state.isInternetReachable) {
alert('No internet access');
return false;
}
console.log('Connected via:', state.type);
return true;
}
Monitor Network
import * as Network from 'expo-network';
import { useState, useEffect } from 'react';
import { View, Text } from 'react-native';
export default function NetworkStatus() {
const [status, setStatus] = useState<Network.NetworkState | null>(null);
useEffect(() => {
checkNetwork();
const interval = setInterval(checkNetwork, 5000);
return () => clearInterval(interval);
}, []);
async function checkNetwork() {
const state = await Network.getNetworkStateAsync();
setStatus(state);
}
return (
<View>
<Text>Connected: {status?.isConnected ? 'Yes' : 'No'}</Text>
<Text>Type: {status?.type}</Text>
</View>
);
}
| Platform | Supported |
|---|
| iOS | ✅ |
| Android | ✅ |
| Web | ⚠️ Limited |
Resources