nuxt logo

Traducción de Documentación (No Oficial)

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 de useState.
  • init: Una función que proporciona el valor inicial para el estado cuando no está iniciado. Esta función también puede devolver un Ref.
  • T: (solo typescript) Especifica el tipo de estado.