Динамическая маршрутизация с использованием Next.js и реагировать Js

#reactjs #react-router #next.js #url-routing #next-router

#reactjs #реагировать-маршрутизатор #next.js #url-маршрутизация #далее -маршрутизатор

Вопрос:

Я создаю приложение для электронной коммерции в React / Next Js. Я хочу создать динамическую маршрутизацию с разными параметрами как для страницы сведений о продукте, так и для страницы категории.

например, если я нажму на категорию, то ее маршрутизация будет
https://www.mywebsite.com/my-category-page-url

Если я нажму на любой продукт из этой категории, то его маршрутизация будет
https://www.mywebsite.com/my-product-detail-page-url

Примечание: у меня уже есть живой веб-сайт с ежедневными посетителями 30 тыс. и с другим технологическим стеком, который следует той же структуре URL, поэтому я не могу изменить структуру URL.

Комментарии:

1. что вы имеете в виду same routing ? ваши ссылки должны отличаться для страницы категории и страницы сведений о продукте, верно? должна ли эта гиперссылка быть другим элементом или тем же элементом с динамическими ссылками? если да, то какое условие определяет, куда их направлять?

2. У меня есть два компонента. Один предназначен для категории (список продуктов), а другой — для страницы сведений о продукте. если какой-то один щелчок https://www.mywebsite.com/my-category-page-url , то он должен открыть компонент категории, а если какой-то один щелчок https://www.mywebsite.com/my-product-detail-page-url , то он должен открыть компонент продукта.

3. В вашем приложении должен быть router.js файл, в котором перечислены все допустимые маршруты, доступные в вашем приложении. Вам нужно зарегистрировать эти два маршрута там и указать соответствующим компонентам нужные пути.

4. не уверен, какой маршрутизатор вы используете, но вы можете посмотреть здесь

5. Я справился с той же проблемой, имея файл с именем pages/[slug].js, который будет использоваться для блогов и для получения подробной информации о продукте. Путь будет example.com/first-blog-content для блога и example.com/first-product-details-product-1221 . где я различаю, является ли это страница блога или страница продукта, проверяя URL-адрес с «product-1221», поэтому я загружаю сведения о продукте, иначе я загружаю содержимое блога на основе slug. Может быть, это поможет вашему запросу.