useNetworkStatus — track network connectivity.
Implementation:
1import { useState, useEffect } from "react";2import NetInfo from '@react-native-community/netinfo';34type NetworkStatus = {5 isConnected: boolean;6 isWifi: boolean;7 isCellular: boolean;8 type: string;9};1011function useNetworkStatus(): NetworkStatus {12 const [status, setStatus] = useState<NetworkStatus>({13 isConnected: true,14 isWifi: false,15 isCellular: false,16 type: "unknown",17 });1819 useEffect(() => {20 const unsubscribe = NetInfo.addEventListener((state) => {21 setStatus({22 isConnected: state.isConnected ?? false,23 isWifi: state.type === "wifi",24 isCellular: state.type === "cellular",25 type: state.type,26 });27 });2829 return () => unsubscribe();30 }, []);3132 return status;33}3435// Usage36function App() {37 const { isConnected, type } = useNetworkStatus();3839 return (40 <View>41 <Text>Connected: {isConnected ? "Yes" : "No"}</Text>42 <Text>Network: {type}</Text>43 </View>44 );45}