簡體   English   中英

Next 13如何獲取app目錄下的page slug?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM