// ProductListPage.tsx
import Products from '../components/product-list/Products';
import useFetchProducts from '../hooks/useFetchProducts';
export default function ProductListPage() {
// Todo 1. 상품 목록 얻기
const { products } = useFetchProducts();
// Todo 2. 화면에 보여주기
return (
<div>
<h2>Products</h2>
<Products products={products} />
</div>
);
}
// hooks/useFetchProducts.ts
const apiBaseUrl = 'https://shop-demo-api-01.fly.dev';
export default function useFetchProducts() {
type Data = {
products: ProductSummary[];
};
const { data } = useFetch<Data>(`${apiBaseUrl}/products`);
return {
products: data?.products ?? [],
loading: !data,
error,
};
}