mt-flowbite-react
Version:
Official React components built for Flowbite and Tailwind CSS
33 lines (32 loc) • 1.05 kB
JavaScript
import { persist } from 'zustand/middleware';
// import { logger1 } from './middleware/logger1'
import { create } from 'zustand';
import { createFishSlice } from './fish.slice';
export const createBearSlice = (set) => ({
bears: 0,
addBear: () => set((state) => {
console.log("add bear:", state);
return { bears: state.bears + 1 };
}),
eatFish: () => set((state) => ({ fishes: state.fishes - 1 })),
});
// 练习: 简单合并为一个Store
export const useBoundStoreSimple = create()((...a) => ({
...createBearSlice(...a),
...createFishSlice(...a),
}));
export const createBoundStore = () => {
return create()(persist((...a) => ({
...createBearSlice(...a),
...createFishSlice(...a),
}), {
name: 'useBoundStore2',
version: 1,
skipHydration: true,
onRehydrateStorage(state) {
console.log("onRehydrateStorage[res]", state);
},
}));
};
//练习: 合并并且使用中间件。
export const useBoundStore2 = createBoundStore();