Example of using the generateStaticParams() in NextJs
Cách sử dụng hàm generateStaticParams trong NextJS 13. generateStaticParams nó được gọi tại thời điểm xây dụng ứng dụng, có nghĩa là khi ứng dụng chạy lên, nó sẽ được gọi trước. Để có dữ liệu rồi, nó sẽ Props params đến cho component xử lý hiển thị dữ liệu ra.
Mình có cấu trúc thư mục của project như sau:
Nhưng mình chia sẻ ngắn gọn về cách dung generateStaticParams thôi
+ File layout.tsx
import'./globals.css'importtype { Metadata } from'next'import { Inter } from'next/font/google'import Post from'./post/page'constinter=Inter({ subsets: ['latin'] })exportconstmetadata:Metadata= { title:'Create Next App', description:'Generated by create next app',}exportdefaultfunctionRootLayout({ children,}: { children:React.ReactNode}) {return (<html lang="en"><body className={inter.className}><Post /> {children}</body></html> )}
Trong file layout.tsx mình có gọi Post component
Vì vậy ta cần tạo đường dẫn route : src/app/post/page.tsx. Dùng để hiển thị danh sách các bài viết ra
Đoạn code của Post component ta có dùng thư viện swr. Thư viện swr rất hay, giúp ta có thể request các api một cách dễ dàng , đồng thời cũng dễ check dữ liệu được trả về thông qua các giá trị sau:{data, errors, isLoading}
Nếu như bạn có xem về RTK Query , thì cũng có thể hình dùng về cách gọi swr.
Bên trên do ta có gọi tới api/post, nên có nghĩa là ta cũng cần phải tạo route cho nó luôn nhé:
+ app/api/post/route.tsx : Dùng để trả về dữ liệu danh sách bài viết,