UNPKG

vue-use-query

Version:

vue use query

35 lines (34 loc) 1.07 kB
/** * queryclient服务提供者 */ import { defineComponent, inject, onMounted, onUnmounted, provide } from 'vue'; import { QueryClient } from '../core'; var symbol = Symbol('QueryClientProvider'); export var useQueryClient = function () { var queryClient = inject(symbol, undefined); if (!queryClient) { throw new Error('No QueryClient set, use QueryClientProvider to set one'); } return queryClient; }; // 服务提供者 export var QueryClientProvider = defineComponent({ name: 'QueryClientProvider', props: { client: { type: QueryClient, required: true, }, }, setup: function (props, _a) { var slots = _a.slots; provide(symbol, props.client); onMounted(function () { props.client.mount(); }); onUnmounted(function () { props.client.unmount(); }); return function () { var _a; return (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots); }; }, });