diff --git a/examples/axios-typescript/libs/useRequest.ts b/examples/axios-typescript/libs/useRequest.ts index a747c72f7..b06837fa7 100644 --- a/examples/axios-typescript/libs/useRequest.ts +++ b/examples/axios-typescript/libs/useRequest.ts @@ -27,16 +27,25 @@ export default function useRequest( const { data: response, error, isValidating, revalidate } = useSWR< AxiosResponse, AxiosError - >(request && JSON.stringify(request), () => axios(request || {}), { - ...config, - initialData: initialData && { - status: 200, - statusText: 'InitialData', - config: request, - headers: {}, - data: initialData + >( + request && JSON.stringify(request), + /** + * NOTE: Typescript thinks `request` can be `null` here, but the fetcher + * function is actually only called by `useSWR` when it isn't. + */ + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + () => axios(request!), + { + ...config, + initialData: initialData && { + status: 200, + statusText: 'InitialData', + config: request, + headers: {}, + data: initialData + } } - }) + ) return { data: response && response.data,