use App network info hook
Wed Oct 28 2020 18:04:57 GMT+0000 (Coordinated Universal Time)
Saved by
@Tony Dung
#javascript
import { useNetInfo } from '@react-native-community/netinfo';
const useAppNetworkInfo = () => {
const netInfo = useNetInfo();
const count = useRef(0);
const isConnected = useRef(false);
useEffect(() => {
if (count.current > -1) {
if (netInfo?.isConnected && netInfo?.isInternetReachable) {
if (!isConnected.current) {
if (count.current > 2) {
Toast.success(i18next.t('global.onlineAlert', 10));
}
}
const socket = GlobalLib.SocketClient.get();
if (socket && typeof socket.open === 'function') {
socket.open();
}
isConnected.current = true;
} else {
if (isConnected.current) {
Toast.offline(i18next.t('global.offlineAlert', 10));
}
isConnected.current = false;
}
}
count.current = count.current + 1;
}, [netInfo]);
};
content_copyCOPY
Call this hook in the root of application
Comments