// src > app > (providers) > (root) > info > train > page.tsx
const params = {
pageNo: PAGE_NO,
numOfRows: NUM_OF_ROWS,
depPlaceId,
arrPlaceId,
depPlandTime
};
const { datas, isLoading }: { datas: TTrainInfo[]; isLoading: boolean } = useTrain(params);
if (isLoading) return <LoadingPage />;
if (!datas) return <NonTrainApi />;
(캡쳐사진 첨부 추후…)
// src > hooks > useTrain.ts
'use client';
import api from '@/api/api';
import { useQuery } from '@tanstack/react-query';
const getTrainDataTest = async (trainParams: TTrainParams) => {
if (!trainParams.depPlaceId || !trainParams.arrPlaceId) {
return;
}
api.train.getTrainData(trainParams);
};
function useTrain(trainParams: TTrainParams) {
const {
data: datas,
isLoading,
isError
} = useQuery({
queryKey: ['train'],
queryFn: () => getTrainDataTest(trainParams)
});
return { datas, isLoading, isError };
}
export default useTrain;