как вы получаете данные запроса в новом каталоге приложений?
Я хотел бы, чтобы мое приложение 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
Доступ к параметрам запроса через
searchParams
prop (серверные компоненты):
Учитывая 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