@gocodingnow/rn-native-base-boilerplate
Version:
React Native + Native Base Boilerplate
19 lines (15 loc) • 620 B
text/typescript
import NetInfo from '@react-native-community/netinfo'
import {useEffect, useMemo, useState} from 'react'
export function useNetworkStatus() {
const [isConnected, setIsConnected] = useState(true)
const [isInternetReachable, setIsInternetReachable] = useState<boolean | null | undefined>(
undefined,
)
useEffect(() => {
return NetInfo.addEventListener(state => {
setIsConnected(state.isConnected != null && state.isConnected)
setIsInternetReachable(state.isInternetReachable)
})
}, [])
return useMemo(() => ({isConnected, isInternetReachable}), [isConnected, isInternetReachable])
}