useState

useState 컴포저블은 SSR에 적합한 반응형 공유 상태를 생성합니다.

 

사용법

// Create a reactive state and set default value
const count = useState('counter', () => Math.round(Math.random() * 100))

참고) Nuxt-개요 > 상태관리

useState 내부 데이터는 JSON으로 직렬화되므로 클래스, 함수, 심벌 등 직렬화할 수 없는 어떤 것도 포함하지 않는 것이 중요하다.

 

shallowRef 사용

상태가 적극적으로 반응할 필요가 없다면 useState 와 shallowRef 를 결합할 수 있다. 이렇게 하면 상태에 큰 개체와 배열이 포함된 경우 성능이 향상될 수 있다.

const state = useState('my-shallow-state', () => shallowRef({ deep: 'not reactive' }))
// isShallow(state) === true

 

Type

useState<T>(init?: () => T | Ref<T>): Ref<T>
useState<T>(key: string, init?: () => T | Ref<T>): Ref<T>

 

  • key: 데이터 가져오기가 요청 전반에 걸쳐 적절하게 중복 제거되도록 보장하는 고유 키이다. 키를 제공하지 않으면 useState 인스턴스의 줄 번호와 파일이름을 이용한 고유한 키가 생성됩니다.
  • init : 초기화되지 않았을 때 상태에 대한 초기값을 제공하는 함수. 이 함수는 Ref 를 반환할 수도 있다.
  • T: (typescript에만 해당) 상태 유형을 지정한다.

'Nuxt 공식문서 번역 > Composables' 카테고리의 다른 글

useServerSeoMeta  (0) 2023.12.15
useSeoMeta  (0) 2023.12.15
useRuntimeConfig  (0) 2023.12.15
useRouter  (0) 2023.12.15
useRoute  (0) 2023.12.14
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유