diff --git a/packages/integrations/useAxios/index.ts b/packages/integrations/useAxios/index.ts index 905e538ae74..0ce57e51c4f 100644 --- a/packages/integrations/useAxios/index.ts +++ b/packages/integrations/useAxios/index.ts @@ -92,6 +92,12 @@ export interface UseAxiosOptions { * */ immediate?: boolean + /** + * Use shallowRef. + * + * @default true + */ + shallow?: boolean } type OverallUseAxiosReturn = StrictUseAxiosReturn | EasyUseAxiosReturn @@ -112,7 +118,7 @@ export function useAxios(...args: any[]): OverallUseAxiosRetur const argsPlaceholder = isString(url) ? 1 : 0 let defaultConfig: AxiosRequestConfig = {} let instance: AxiosInstance = axios - let options: UseAxiosOptions = { immediate: !!argsPlaceholder } + let options: UseAxiosOptions = { immediate: !!argsPlaceholder, shallow: true } const isAxiosInstance = (val: any) => !!val?.request @@ -139,7 +145,7 @@ export function useAxios(...args: any[]): OverallUseAxiosRetur options = args[args.length - 1] const response = shallowRef>() - const data = shallowRef() + const data = options.shallow ? shallowRef() : ref() const isFinished = ref(false) const isLoading = ref(false) const isAborted = ref(false)