cra-template-demplate
Advanced tools
Comparing version 0.1.7 to 0.2.0
{ | ||
"name": "cra-template-demplate", | ||
"version": "0.1.7", | ||
"version": "0.2.0", | ||
"keywords": [ | ||
@@ -5,0 +5,0 @@ "react", |
@@ -1,3 +0,2 @@ | ||
import create from 'zustand'; | ||
import {persist} from 'zustand/middleware'; | ||
import {applyMiddleWares, logMiddleware, persistMiddlewareCreator, StoreInterface} from '@/utils/zustand'; | ||
@@ -18,7 +17,12 @@ export enum Locale { | ||
export const useLocaleStore = create(persist<Store>((set) => ({ | ||
const store: StoreInterface<Store> = (set) => ({ | ||
locale: defaultLocale, | ||
setLocale: (locale: Locale) => set(() => ({locale})) | ||
}), { | ||
name: 'locale' | ||
})); | ||
}); | ||
export const useLocaleStore = applyMiddleWares<Store>(store, [ | ||
persistMiddlewareCreator({ | ||
name: 'locale' | ||
}), | ||
logMiddleware | ||
]); |
@@ -1,6 +0,6 @@ | ||
import create from 'zustand'; | ||
import {logMiddleware} from '@/utils/logMiddleware'; | ||
import {applyMiddleWares, logMiddleware, StoreInterface} from '@/utils/zustand'; | ||
import {sleep} from '@/utils'; | ||
import {testMiddleware} from '@/middleware/test'; | ||
interface Test { | ||
export interface Test { | ||
a: number; | ||
@@ -15,20 +15,20 @@ b: number; | ||
export const useTestStore = create<Test>( | ||
// On change log middleware | ||
logMiddleware<Test>( | ||
(set, get) => ({ | ||
a: 0, | ||
b: 0, | ||
addA: () => set(state => ({a: state.a + 1})), | ||
removeA: () => set(state => ({a: state.a - 1})), | ||
addB: () => set(state => ({b: state.b + 1})), | ||
clearB: () => set({b: 0}), | ||
addAWithDelay: async (d: number) => { | ||
// It can be fetch | ||
await sleep(d); | ||
// `get()` return current value | ||
set({a: get().a + 1}); | ||
} | ||
}) | ||
) | ||
); | ||
const store: StoreInterface<Test> = (set, get) => ({ | ||
a: 0, | ||
b: 0, | ||
addA: () => set(state => ({a: state.a + 1})), | ||
removeA: () => set(state => ({a: state.a - 1})), | ||
addB: () => set(state => ({b: state.b + 1})), | ||
clearB: () => set({b: 0}), | ||
addAWithDelay: async (d: number) => { | ||
// It can be fetch | ||
await sleep(d); | ||
// `get()` return current value | ||
set({a: get().a + 1}); | ||
} | ||
}); | ||
export const useTestStore = applyMiddleWares<Test>(store, [ | ||
logMiddleware, | ||
testMiddleware | ||
]); |
40522
38
541