useState
useState 컴포저블은 반응형이고 SSR 친화적인 공유 상태를 생성합니다.
사용법
// 반응형 상태를 생성하고 기본값 설정
const count = useState('counter', () => Math.round(Math.random() * 100))
이것도 참고 getting-started > state-management
useState
내부의 데이터는 JSON으로 직렬화되므로, 클래스, 함수 또는 심볼과 같이 직렬화할 수 없는 것을 포함하지 않는 것이 중요합니다.
useState
는 컴파일러에 의해 변환되는 예약 함수 이름이므로, 자신의 함수를 useState
로 명명해서는 안 됩니다.
shallowRef
사용하기
상태가 깊게 반응형일 필요가 없다면, useState
를 shallowRef
와 결합할 수 있습니다. 이는 상태에 큰 객체와 배열이 포함될 때 성능을 향상시킬 수 있습니다.
const state = useState('my-shallow-state', () => shallowRef({ deep: 'not reactive' }))
// isShallow(state) === true
타입
useState<T>(init?: () => T | Ref<T>): Ref<T>
useState<T>(key: string, init?: () => T | Ref<T>): Ref<T>
key
: 요청 간 데이터 페칭이 적절히 중복 제거되도록 보장하는 고유 키입니다. 키를 제공하지 않으면,useState
인스턴스의 파일 및 줄 번호에 고유한 키가 생성됩니다.init
: 상태가 초기화되지 않았을 때 초기 값을 제공하는 함수입니다. 이 함수는Ref
를 반환할 수도 있습니다.T
: (타입스크립트 전용) 상태의 타입을 지정합니다.
※이 페이지는 Nuxt.js 공식 문서의 비공식 번역 페이지입니다.
공식 문서의 해당 페이지는 여기 있습니다:
https://nuxt.com/docs/3.x/api/composables/use-state