From fd0ea154f9f2be9696ba15ddcbb77233a3d6044a Mon Sep 17 00:00:00 2001 From: Alberto Defendi <1369-ahl-berto@users.noreply.gitlab.inf.unibz.it> Date: Sun, 20 Jun 2021 16:16:06 +0200 Subject: [PATCH] Attach api call to hook. See #15. --- src/api/getReservationsList.ts | 5 +++++ src/hooks/useReservations.ts | 20 ++++++++++++-------- 2 files changed, 17 insertions(+), 8 deletions(-) create mode 100644 src/api/getReservationsList.ts diff --git a/src/api/getReservationsList.ts b/src/api/getReservationsList.ts new file mode 100644 index 0000000..a5739f8 --- /dev/null +++ b/src/api/getReservationsList.ts @@ -0,0 +1,5 @@ +import axios from 'axios'; +import { InsertReservationType } from 'types/InsertReservationType'; + +export const getReservationsList = async (): Promise<InsertReservationType[]> => + axios(`/api/web/reservations/`).then((res) => res.data); diff --git a/src/hooks/useReservations.ts b/src/hooks/useReservations.ts index b671101..32fa622 100644 --- a/src/hooks/useReservations.ts +++ b/src/hooks/useReservations.ts @@ -1,16 +1,20 @@ -import { getReservations } from 'api/getReservations'; -import { getRole } from 'api/getRole'; -import { useEffect, useState } from 'react'; +import { getReservationsList } from 'api/getReservationsList'; +import { useMemo, useState } from 'react'; +import { InsertReservationType } from 'types/InsertReservationType'; -export const useReservations = (): any => { - useEffect(() => { +export const useReservations = (): InsertReservationType[] => { + const [reservationList, setReservationList] = useState< + InsertReservationType[] + >([]); + useMemo(() => { let isMounted = true; - getReservations().then((data) => console.log(data)); - + getReservationsList().then((list) => { + if (isMounted) setReservationList(list); + }); return () => { isMounted = false; }; }, []); - return null; + return reservationList; }; -- GitLab