From f8f66cbb8e218620a2239d7925f9fed51ad41aae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chif=20Gerg=C5=91?= <chif.gergo@cloud.bme.hu> Date: Sun, 24 Jan 2021 17:25:31 +0100 Subject: [PATCH] Delete hooks --- src/hooks/useAddNews.ts | 12 ----------- src/hooks/useGetNewsList.ts | 12 ----------- src/hooks/useRequest.ts | 40 ------------------------------------- src/hooks/useRestQueries.ts | 20 ------------------- 4 files changed, 84 deletions(-) delete mode 100644 src/hooks/useAddNews.ts delete mode 100644 src/hooks/useGetNewsList.ts delete mode 100644 src/hooks/useRequest.ts delete mode 100644 src/hooks/useRestQueries.ts diff --git a/src/hooks/useAddNews.ts b/src/hooks/useAddNews.ts deleted file mode 100644 index 240921f..0000000 --- a/src/hooks/useAddNews.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { News } from '../types/types'; -import useRequest from './useRequest'; -import useRestQueries from './useRestQueries'; - -const useAddNews = () => { - const { post } = useRestQueries(); - const request = post<News>('/api/v1/news'); - - return useRequest<News>({ request }); -}; - -export default useAddNews; diff --git a/src/hooks/useGetNewsList.ts b/src/hooks/useGetNewsList.ts deleted file mode 100644 index d129df7..0000000 --- a/src/hooks/useGetNewsList.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { News } from '../types/types'; -import useRequest from './useRequest'; -import useRestQueries from './useRestQueries'; - -const useGetNewsList = (data?: News[]) => { - const { get } = useRestQueries(); - const request = get<News[]>('/api/v1/news'); - - return useRequest<News[]>({ request, initialData: data }); -}; - -export default useGetNewsList; diff --git a/src/hooks/useRequest.ts b/src/hooks/useRequest.ts deleted file mode 100644 index 6e41e58..0000000 --- a/src/hooks/useRequest.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { useCallback, useEffect, useState } from 'react'; -import { Refetch, RequestArgs, ResponseData } from './types'; - -function useRequest<T = any>({ request, initialData }: RequestArgs<T>): [ResponseData<T>, Refetch] { - const [data, setData] = useState(initialData); - const [isLoading, setIsLoading] = useState(false); - const [isError, setIsError] = useState(false); - const [fetching, setFetching] = useState(false); - const [requestParams, setRequestParams] = useState({}); - - const refetch = useCallback((newParams?) => { - setRequestParams(newParams ?? {}); - setFetching(true); - }, []); - - useEffect(() => { - const fetchData = async () => { - setIsError(false); - setIsLoading(true); - - try { - const result = await request(requestParams); - - setData(result.data); - } catch (error) { - setIsError(true); - } - setFetching(false); - setIsLoading(false); - }; - - if (fetching && !isLoading) { - fetchData(); - } - }, [request, fetching, isLoading, requestParams]); - - return [{ data, isLoading, isError }, refetch]; -} - -export default useRequest; diff --git a/src/hooks/useRestQueries.ts b/src/hooks/useRestQueries.ts deleted file mode 100644 index 3b91a06..0000000 --- a/src/hooks/useRestQueries.ts +++ /dev/null @@ -1,20 +0,0 @@ -import axios, { AxiosRequestConfig } from 'axios'; -import { ApiRequest, RequestParams } from './types'; - -function useRestQueries( - // When a request needs more config like CancelToken, etc. - config?: AxiosRequestConfig, -): Record<string, <Data>(path: string) => ApiRequest<Data>> { - return { - get: <Data>(path: string) => (params: RequestParams) => - axios.get<Data>(path, { ...config, ...params }), - post: <Data>(path: string) => (params: RequestParams) => - axios.post<Data>(path, params.body ?? {}, { ...config, ...params }), - put: <Data>(path: string) => (params: RequestParams) => - axios.put<Data>(path, params.body ?? {}, { ...config, ...params }), - delete: (path: string) => (params: RequestParams) => - axios.delete(path, { ...config, ...params }), - }; -} - -export default useRestQueries; -- GitLab