Hooks
useSessionStorage

useSessionStorage

El hook useSessionStorage permite interactuar con el almacenamiento de sesión del navegador, ofreciendo funcionalidades como cargar, actualizar y eliminar valores de manera reactiva.

Importación

Para importar el componente useSessionStorage, se puede hacer desde fenextjs

import { useSessionStorage } from "fenextjs";

Parámetros

ParámetroTipoRequeridoDefaultDescripcion
namestringNombre clave utilizada para identificar el valor en el almacenamiento de sesión.
defaultValueTnoValor predeterminado que se utiliza si no se encuentra un valor en el almacenamiento de sesión.
parse(value: any) => TnoFunción para convertir el valor almacenado en un formato específico.
updateValue(oldValue: O, newValue: T) => TnoFunción que define cómo actualizar el valor almacenado con base en el valor anterior.

Returns

ParametroTipoDescripcion
loadbooleanIndica si useSessionStorage finalizo su carga.
valueT | undefinedEl valor actualmente almacenado en el almacenamiento de sesión.
setSessionStorage(newValue: T) => voidFunción para actualizar el valor en el almacenamiento de sesión.
onClearSessionStorage() => voidFunción para eliminar el valor asociado del almacenamiento de sesión.

Usos

  • Cargar un valor inicial
const { value, load } = useSessionStorage({
  name: "example_key",
  defaultValue: "Default",
});
  • Actualizar un valor
const { setSessionStorage } = useSessionStorage({ name: "example_key" });
setSessionStorage("Nuevo valor");
  • Eliminar un valor
const { onClearSessionStorage } = useSessionStorage({ name: "example_key" });
onClearSessionStorage();
  • Usar una función personalizada para parsear valores
const { value } = useSessionStorage<number>({
  name: "number_key",
  defaultValue: 0,
  parse: (v) => parseInt(v, 10),
});