"공통 데이터"
내가 만드는 앱에서는 공통으로 사용하는 데이터들을 저장해두고 사용할 수 있도록 도와주는 함수를 만들어두고 사용한다.
함수의 이름은 createStore 이다. 작성해보자.
파일경로: /src/data/stores/createStore.ts
import {StateCreator, create} from 'zustand';
import {PersistStorage, persist} from 'zustand/middleware';
import storage, {StorageKey} from '@/data/storage';
const createStore = <State, Actions>({
initializer,
storageKey,
}: {
initializer: StateCreator<State & Actions>;
storageKey: StorageKey;
}) => {
const storeStorage: PersistStorage<State> = {
setItem: (key, value) => storage.set(key, value.state),
getItem: async key => {
const data = await storage.get<State>(key);
return data ? {state: data} : null;
},
removeItem: key => storage.remove(key),
};
return create<State & Actions>()(
persist(initializer, {
name: storageKey,
storage: storeStorage,
}),
);
};
export default createStore;
이제 이 파일 내용을 그대로 hbs 파일을 만들고 템플릿 코드에 넣어준다.
파일경로: /src/automationReactNative/index.ts
...
const fileInfoList: FileInfo[] = [
...
{path: 'src/data/stores', name: 'createStore', ext: 'ts'},
...
];
...
이제 코드를 실행해 본다.
잘 생성되었다!
이제 공통 데이터 생성 함수도 생각없이 사용할 수 있겠지 ...
