#javascript #reactjs #next.js
#javascript #reactjs #next.js
Вопрос:
У меня есть следующий файл
pages/api/[slug]/[uid].ts
И я хочу получить slug
и uid
в теле моего обработчика, как я могу это сделать?
Ответ №1:
Вы можете использовать useRouter()
пользовательский хук, предоставляемый next для доступа к параметрам запроса в NextJS. Он вернет объект, который будет содержать подробную информацию о загруженном URL-адресе, включая параметры запроса. Параметры будут сохранены в query
key в возвращаемом объекте. Сам query
по себе имеет объект в качестве значения, где key — это имя параметра (здесь slug
и uid
), а его динамические значения в качестве значений.
Затем мы можем использовать деструктурирование объекта для детализации требуемых параметров.
const router = useRouter();
const { slug, uid } = router.query;
Для доступа к одному параметру мы можем сделать следующее,
const router = useRouter();
const slugValue = router.query.slug;
const uidValue = router.query.uid;
Ответ №2:
Вы можете получить к нему доступ только с req.query
помощью консоли.войдите в систему и ознакомьтесь с документами для получения дополнительной информации https://nextjs.org/docs/api-routes/dynamic-api-routes
Комментарии:
1. Это правильный ответ. Принятый выдает ошибку с жалобой на незаконное использование перехватов.