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ámetro | Tipo | Requerido | Default | Descripcion |
---|---|---|---|---|
defaultValue | T | no | Valor predeterminado en formato JSON. | |
value | T | no | Valor en formato JSON que se desea sincronizar. | |
onChange | (data: T) => void | no | Función que se ejecuta cuando el valor en JSON cambia. | |
defaultValueJsonString | P | no | Valor predeterminado en formato string. | |
valueJsonString | P | no | Valor en formato string que se desea sincronizar. | |
onChangeJsonString | (data: P | undefined) => void | no | Función que se ejecuta cuando el valor en formato string cambia. | |
parseString_to_Json | (data: P) => T | undefined | no | Función que convierte el valor de formato string a JSON. | |
parseJson_to_String | (data: T) => P | undefined | no | Función que convierte el valor de JSON a formato string. |
Returns
Parametro | Tipo | Descripcion |
---|---|---|
value | T | Valor calculado en formato JSON, basado en el valor string o JSON pasado como argumento. |
defaultValue | T | Valor predeterminado en formato JSON, basado en el valor string o JSON pasado como argumento. |
onChange | (e: T) => void | Funció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),
});