subtracks/app/storage/atomWithAsyncStorage.ts
2021-07-08 12:21:44 +09:00

11 lines
324 B
TypeScript

import { atomWithStorage } from 'jotai/utils'
import { getItem, setItem } from '@app/storage/asyncstorage'
export default <T>(key: string, defaultValue: T) => {
return atomWithStorage<T>(key, defaultValue, {
getItem: async () => (await getItem(key)) || defaultValue,
setItem: setItem,
delayInit: true,
})
}