У меня есть веб-сайт как отдельная страница, на которой используется Next. js. У меня есть домашняя страница по маршруту /
, на которой отображается список продуктов. Код этой страницы находится в pages/index.js
. Каждый продукт имеет id
, поэтому я могу перейти к нему, используя /#product-id
.
Чтобы сделать его более удобным для URL, я воспроизвожу это поведение, используя product-id
в качестве второго параметра в маршруте, например: /product-id
.
Я просто смотрю на параметр product-id
, используя useRouter()
:
const selectedProductId = useRouter().query['product-id']
, а затем прокручиваю до элемента с этим идентификатором, используя js
:
document.getElementById(selectedProductId ).scrollIntoView()
Итак, я должен изменить имя своего скрипта с /pages/index.js
на /pages/[product-id].js
.
Итак, теперь маршрут /1234
работает, как ожидалось, но если я go на /
Я получаю ошибку 404.
Так есть ли у кого-нибудь идея, как я могу сопоставить /
и /param
, используя один файл js
?