Saltar al contenido principal

Comprobar al volver

Cuando alguien regresa a tu app después de un rato (la pestaña vuelve a ser visible, la ventana recupera el foco o el AppState de React Native pasa a activo), la última sonda puede ser antigua. useRecheckOnReturn vuelve a sondear al instante en lugar de esperar a la siguiente comprobación programada.

Es opcional, por pantalla. Por defecto el detector ni siquiera se suscribe a la señal de primer plano; así, una pantalla a la que no le importa no paga nada.

import { useRecheckOnReturn } from '@rogeriodocarmo/offline-detector-web'; // o '-native'

function Checkout() {
const online = useRecheckOnReturn({
checkingFeedback: 'brief',
onResult: (isOnline) => console.log('de vuelta en la app, en línea:', isOnline),
});
return <Pay disabled={!online} />;
}

Opciones​

OpciónPor defectoNotas
checkingFeedback'none''brief' o 'none'. Si la comprobación al volver es visible.
onResultninguno(isOnline: boolean) => void, se llama tras cada comprobación al volver

El hook devuelve el último booleano conocido: false solo cuando la app está sin conexión. Se actualiza con cada cambio de estado, no únicamente tras un regreso.

'brief' frente a 'none'​

Origen de la comprobación'none''brief'
Nueva sonda al volver a la appnada visiblelas piezas muestran un breve estado "Verificando…"
El usuario pulsa Reintentarel botón muestra "Verificando…"igual (un Reintentar pulsado siempre lo muestra)
Sonda programada con espera creciente, sin conexiónnada visiblenada visible (solo comprobaciones disparadas al volver)
En línea, sin problemanada visiblenada visible: una comprobación breve exitosa no muestra nada

Reglas de 'brief':

  • El estado "Verificando…" solo aparece si la comprobación sigue pendiente tras 150 ms y, una vez mostrado, permanece al menos 400 ms. Así se evita un destello en una red rápida y un parpadeo en una lenta.
  • Nunca mueve el diseño: un indicador de carga reemplaza la etiqueta dentro de la misma caja.

Detalles que conviene saber​

  • El hook se suscribe al adapter solo mientras el componente está montado y cancela la suscripción al desmontarse. onResult no se llama después de desmontar.
  • Varios hooks montados comparten una sonda, porque el core elimina las comprobaciones simultáneas duplicadas.
  • La opción recheckOnForeground del propio core sigue desactivada. Este hook es el único lugar que vuelve a comprobar al regresar.
  • useCheckingFeedback() es para paquetes de interfaz: informa 'brief' mientras está pendiente una comprobación al volver iniciada por un hook 'brief', y 'none' en el resto del tiempo.

Consulta la referencia de react para ver los tipos exactos.