내가 만드는 앱의 "공통 데이터"를 자동화하기

"공통 데이터"

by 홍지성

내가 만드는 앱에서는 공통으로 사용하는 데이터들을 저장해두고 사용할 수 있도록 도와주는 함수를 만들어두고 사용한다.


함수의 이름은 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'},

...

];

...


이제 코드를 실행해 본다.


스크린샷 2025-06-05 오후 12.33.04.png


잘 생성되었다!


이제 공통 데이터 생성 함수도 생각없이 사용할 수 있겠지 ...


sticker sticker


월, 수, 금, 일 연재
이전 11화내가 만드는 앱의 "데이터 모델"을 자동화하기