From 90e3fd5048eb10cfa58229b6a5598a9cfcd90269 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chif=20Gerg=C5=91?= <chif.gergo@cloud.bme.hu> Date: Fri, 28 Aug 2020 20:46:25 +0200 Subject: [PATCH] Add query to get the news endpoint --- package.json | 3 ++- src/core/App.tsx | 15 ++++++++++++++- src/hooks/useGetNewsList.ts | 12 ++++++++++++ 3 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 src/hooks/useGetNewsList.ts diff --git a/package.json b/package.json index a6c602e..2204cce 100644 --- a/package.json +++ b/package.json @@ -82,5 +82,6 @@ "prettier-plugin-organize-imports": "^1.1.1", "prettier-plugin-packagejson": "^2.2.5", "prettier-plugin-sh": "^0.5.0" - } + }, + "proxy": "http://localhost:8000" } diff --git a/src/core/App.tsx b/src/core/App.tsx index ebed2ef..dfb1d8d 100644 --- a/src/core/App.tsx +++ b/src/core/App.tsx @@ -1,6 +1,7 @@ -import React from 'react'; +import React, { useEffect } from 'react'; import { BrowserRouter as Router } from 'react-router-dom'; import styled from 'styled-components'; +import useGetNewsList from '../hooks/useGetNewsList'; import Footer from './components/Footer'; import Header from './components/Header'; import MainRouting from './components/MainRouting'; @@ -17,6 +18,18 @@ const MainContent = styled.div` `; function App() { + const [response, getNewsList] = useGetNewsList(); + + useEffect(() => { + getNewsList(); + }, [getNewsList]); + + useEffect(() => { + if (response.data) { + console.log(response.data[0].text); + } + }, [response.data]); + return ( <Router> <Container> diff --git a/src/hooks/useGetNewsList.ts b/src/hooks/useGetNewsList.ts new file mode 100644 index 0000000..98db4a8 --- /dev/null +++ b/src/hooks/useGetNewsList.ts @@ -0,0 +1,12 @@ +import { INews, RequestParams } from './types'; +import useRequest from './useRequest'; +import userRestQueries from './useRestQueries'; + +const useGetNewsList = (params?: RequestParams, data?: INews[]) => { + const { get } = userRestQueries(); + const request = get<INews[]>('/api/v1/news'); + + return useRequest<INews[]>({ request, initialParams: params, initialData: data }); +}; + +export default useGetNewsList; -- GitLab