Hooks
useJsonString

useJsonString

El hook useJsonString gestiona el estado y sincronización entre un valor JSON y su representación en formato string, permitiendo opcionalmente definir funciones de parseo para la conversión entre tipos.

Importación

Para importar el componente useJsonString, se puede hacer desde fenextjs

import { useJsonString } from "fenextjs";

Parámetros

ParámetroTipoRequeridoDefaultDescripcion
defaultValueTnoValor predeterminado en formato JSON.
valueTnoValor en formato JSON que se desea sincronizar.
onChange(data: T) => voidnoFunción que se ejecuta cuando el valor en JSON cambia.
defaultValueJsonStringPnoValor predeterminado en formato string.
valueJsonStringPnoValor en formato string que se desea sincronizar.
onChangeJsonString(data: P | undefined) => voidnoFunción que se ejecuta cuando el valor en formato string cambia.
parseString_to_Json(data: P) => T | undefinednoFunción que convierte el valor de formato string a JSON.
parseJson_to_String(data: T) => P | undefinednoFunción que convierte el valor de JSON a formato string.

Returns

ParametroTipoDescripcion
valueTValor calculado en formato JSON, basado en el valor string o JSON pasado como argumento.
defaultValueTValor predeterminado en formato JSON, basado en el valor string o JSON pasado como argumento.
onChange(e: T) => voidFunción para actualizar el valor JSON y sincronizar su representación en formato string.

Usos

  • Uso básico con un valor JSON inicial
const { value, onChange } = useJsonString({
  value: { name: "Example" },
  onChange: (data) => console.log("Nuevo valor JSON:", data),
});
  • Sincronización entre JSON y string
const { value, onChange } = useJsonString({
  valueJsonString: '{"name":"Example"}',
  parseString_to_Json: JSON.parse,
  parseJson_to_String: JSON.stringify,
  onChangeJsonString: (data) => console.log("Nuevo valor string:", data),
});