npm i axios // axios 설치
// 일반적인 방식으로 fetch 하는 함수.
// 눈에 익숙해서 그런지 보기 편하다.. ㅋㅋㅋ
const BASE_URL = "http://127.0.0.1:8000/api/v1"
export async function getRooms() {
const response = await fetch(`${BASE_URL}/rooms/`);
const json = await response.json();
return json;
}
import axios from "axios";
const instance = axios.create({ // axios.create axios 생성 😍
baseURL: "http://127.0.0.1:8000/api/v1/",
});
export const getRooms = () =>
instance.get("rooms/").then((response) => response.data);
// get 요청 (url) response.data 반환
// filename : router.tsx
// ...생략
{
path: "rooms/:roomPk",
element: <RoomDetail />,
},
// ...생략
// filename : RoomDetail.tsx
import { useQuery } from "@tanstack/react-query";
import { useParams } from "react-router-dom";
import { getRoom } from "../api";
export default function RoomDetail() {
const { roomPk } = useParams(); // useParams() 는 파라미터 값을 변수에 담아줍니다.
const { isLoading, data } = useQuery([`room:${roomPk}`], getRoom);
console.log(data);
console.log(`useParams : ${roomPk} `);
return <h1>hello</h1>;
}
axios 좋은점 아직은 잘 모르겠어 😊😆