🗣 프로젝트 진행 시, axios를 통해 데이터를 가져와야 하는데 데이터가 없을 때 유용하게 사용할 수 있는 사이트를 소개하고 이를 이용해 json을 만들어 보겠습니다.
저는 포트폴리오용 dummy data를 만들어 볼 예정입니다.
ObjGen - Live Code Generation for the Web
Demo
버튼을 눌러보면 어떻게 작성해야 하는지 알 수 있습니다. 이를 바탕으로 필요한 형식의 json을 만들어 보겠습니다.Copy
버튼을 눌러 사용하면 됩니다!// fetchData
const jsonUrl = "../../iib/api/projectList.json"; // 더미 데이터 불러오기
import axios from "axios";
export const fetchData = async () => {
const response = await axios.get(jsonUrl)
return response.data.data
}
// useQuery
import { useQuery } from "@tanstack/react-query";
import { fetchData } from "../../api/index";
const useAPI = () => {
const { isLoading, error, data } = useQuery({
queryKey: ["projects"],
queryFn: fetchData,
})
return { isLoading, error, data }
}
export { useAPI }
import { useId } from "react";
import { useAPI } from "../../iib/api/react-query/project";
const Projects = () => {
const {isLoading, error, data} = useAPI();
const id = useId();
return (
<ul>
{isLoading && <>Loading ...</>}
{error && <>에러가 발생했습니다! 잠시후 다시 시도해주세요.</>}
{data && data.map((item: any, index: any) => (
<li key={item.id + id}>
1. {item.copy}
2. {item.title}
3. {item.description}
4. {item.tag.map((tag) => <span>#{tag}</span>)}
</li>
))}
</ul>
)
}
export default Projects;
아래 사진을 통해 dummy data가 정상 출력 됨을 확인했습니다. 👏