Mobile networks are unreliable, so a robust app caches recent data (last known balance, recent transactions) and clearly indicates staleness rather than showing a blank screen offline.
import NetInfo from "@react-native-community/netinfo";
function useIsOnline() {
const [online, setOnline] = useState(true);
useEffect(() => {
const unsub = NetInfo.addEventListener((state) => setOnline(!!state.isConnected));
return unsub;
}, []);
return online;
}Queueing user actions performed offline (like a pending swap request) and retrying them once connectivity returns gives a far better experience than failing silently.