[英]How to get page slug in the app directory in Next 13?
在 Next.js 12 中,我們通過在getStaticProps
中執行以下操作來獲取當前頁面的 slug。 Next.js 13 中如何做到這一點?
✅Next.js 12
export async function getStaticProps(context) {
const slug = context.params.slug
}
❌Next.js 13 - 在 Next.js13 中,使用上面的代碼會報錯
Error: Cannot read properties of undefined (reading 'params')
export async function fetchData(context) {
❌const slug = context.params.slug
}
在app
目錄中,位於page.js
中的組件會傳遞一個如下所示的參數:
{ params: {}, searchParams: {} }
如果你有slug
,它會在params
中。 但它是您的頁面組件,應該將它傳遞給您的數據獲取 function,例如:
async function fetchData(context) {
const slug = context.params.slug
}
export default async function Page(context) {
const data = await fetchData(context)
return <h1>My Page</h1>;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.