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