как вы получаете данные запроса в новом каталоге приложений?

Я хотел бы, чтобы мое приложение nextjs13 обслуживало контент на основе поддомена/домена/slug/get_vars в запросе.

Мне нужен доступ к данным запроса из новой папки приложения nextjs 13, чтобы я мог обслуживать правильные данные на стороне сервера.

например, sub-domain.my-domain.com/my-slug?my_var=1&another_var=2

Как я могу получить доступ к следующим данным:

  • субдомен
  • домен
  • slug (этого я могу добиться, используя папку, обернутую в [])
  • получить вары

Большое спасибо всем ответившим.

1 ответ

Доступ к домену и поддомену с помощью headersфункция:

      import { headers } from 'next/headers'    

const Page = () => {
  const headersInstance = headers()
  const [subdomain, domain] = headersInstance.get('host').split('.')
    
  ...
}

export default Page

Доступ к слагу через paramsопора:

      const Page = ({ params: { slug } }) => {
  console.log(slug)
  ...
}
 
export default Page

Доступ к параметрам запроса через searchParamsprop (серверные компоненты):

Учитывая sub-domain.my-domain.com/my-slug?my_var=1&another_var=2:

      const Page = ({ searchParams }) => {
  console.log(searchParams) // Logs { my_var: '1', another_var: '2' }
  console.log(searchParams.my_var) // Logs 1
  console.log(searchParams.another_var) // Logs 2
  ...
}
 
export default Page
Другие вопросы по тегам