문제 해결
root import에서 create가 undefined입니다
프레임워크 subpath에서 편의 함수 create를 import하세요.
import { create } from '@ilokesto/state/react';프레임워크 subpath는 bind도 내보내고 root는 createStore와 createReducer를 내보냅니다. 이전 메이저에서 바뀐 내용은 이전 가이드를 확인하세요.
Vue가 setup 또는 effectScope 안에서 실행하라고 합니다
adapter는 setup 또는 active effectScope 안에서 호출하세요. Vue 밖의 synchronous read에는 readOnly()를 사용하세요.
Solid가 reactive owner가 필요하다고 합니다
adapter는 component 또는 createRoot 안에서 호출하세요. non-reactive service code에서는 readOnly()와 writeOnly()를 사용하세요.
Angular가 injection context를 요구합니다
inject(DestroyRef)가 동작하는 곳에서 호출하거나 { destroyRef }를 명시적으로 넘기세요.
validate가 async schema를 받지 않습니다
validate middleware는 async Standard Schema result를 지원하지 않습니다. validation을 synchronous하게 유지하거나 setState 전에 검증하세요.
Redux DevTools에 update가 보이지 않습니다
devtools는 production에서 비활성화되며 browser extension이 있어야 동작합니다.
persisted state가 migrate되지 않았습니다
모든 저장소 어댑터가 같은 migration 파이프라인을 사용합니다. await store.persist.rehydrate()로 명시적으로 시작하고 거부를 처리하세요. 저장된 { state, version }, migration 배열 길이, 필수 decode 함수를 확인하세요. store.persist.getStatus().error에서 오류를 확인할 수 있으며 잘못된 데이터는 메모리나 저장소를 조용히 교체하지 않고 보존합니다. migration 결과 저장 완료는 store.persist.flush()로 기다립니다.
영속화 충돌이나 미저장 변경이 표시됩니다
복원 완료 전 편집은 CONFLICT가 됩니다. rehydrate({ conflict: 'keep-current' }) 또는 rehydrate({ conflict: 'use-stored' })로 명시적으로 선택하세요. 자동 깊은 병합은 없습니다. 복원 성공 전 flush()는 NOT_HYDRATED로 거부됩니다. 영속화 상태를 구독해 복원과 저장을 구분하세요. API 대체 표는 영속화 마이그레이션을 참고하세요.
adaptor를 import하거나 사용할 수 없습니다
optional peer dependency인 immer를 설치하고, @ilokesto/state/adaptor에서 adaptor를 import한 뒤 object state에서 사용하세요.