mt-flowbite-react
Version:
Official React components built for Flowbite and Tailwind CSS
36 lines (35 loc) • 967 B
JavaScript
/**
* 开发调试辅助,通过界面发出 http api 请求。
*/
import { z } from 'zod';
import { create } from 'zustand';
import { persist } from 'zustand/middleware';
const httpReqSchema = z.object({
url: z.string()
});
export const createHttpToolSlice = (set, get) => ({
schema: httpReqSchema,
formValues: {
url: "fakeurl",
},
histories: [],
sendRequest() {
const pre = get();
console.log("请求参数", pre.formValues);
}
});
export const createHttpToolStore = () => {
return create()(persist((...a) => ({
...createHttpToolSlice(...a),
// ...createFishSlice(...a),
}), {
name: 'httpToolSlice',
version: 1,
// skipHydration: true,
onRehydrateStorage(state) {
console.log("onRehydrateStorage[httpToolSlice]", state);
},
}));
};
//练习: 合并并且使用中间件。
export const useHttpToolStore = createHttpToolStore();