useState
El composable useState crea un estado compartido reactivo y compatible con SSR.
Uso
// Crear un estado reactivo y establecer un valor por defecto
const count = useState('counter', () => Math.round(Math.random() * 100))
Ver también getting-started > state-management
Debido a que los datos dentro de useState se serializarán a JSON, es importante que no contengan nada que no pueda ser serializado, como clases, funciones o símbolos.
useState es un nombre de función reservado transformado por el compilador, por lo que no debes nombrar tu propia función useState.
Usando shallowRef
Si no necesitas que tu estado sea profundamente reactivo, puedes combinar useState con shallowRef. Esto puede mejorar el rendimiento cuando tu estado contiene objetos y arreglos grandes.
const state = useState('my-shallow-state', () => shallowRef({ deep: 'not reactive' }))
// isShallow(state) === true
Tipo
useState<T>(init?: () => T | Ref<T>): Ref<T>
useState<T>(key: string, init?: () => T | Ref<T>): Ref<T>
key: Una clave única que asegura que la obtención de datos se desduplicará correctamente entre solicitudes. Si no proporcionas una clave, se generará una clave única para el archivo y el número de línea de la instancia deuseState.init: Una función que proporciona el valor inicial para el estado cuando no está iniciado. Esta función también puede devolver unRef.T: (solo typescript) Especifica el tipo de estado.
※Esta página es una traducción no oficial de la documentación oficial de Nuxt.js.
La página correspondiente en la documentación oficial está aquí:
https://nuxt.com/docs/3.x/api/composables/use-state