React Dojo

Buscar

Busca conceptos, ejercicios y quizzes

dom

useOnlineStatus

Detecta si el usuario tiene conexión a internet escuchando los eventos online y offline del navegador.


useOnlineStatus.ts
import { useSyncExternalStore } from "react"

function subscribe(callback: () => void) {
  window.addEventListener("online", callback)
  window.addEventListener("offline", callback)
  return () => {
    window.removeEventListener("online", callback)
    window.removeEventListener("offline", callback)
  }
}

export function useOnlineStatus(): boolean {
  return useSyncExternalStore(
    subscribe,
    () => navigator.onLine,
    () => true
  )
}
¿Fue útil?
Inicia sesión para dar feedback