Как оптимально организовать структуру роутинга в Next.js для следующего использования:
- /shop/ - страница с категориями каталога
- /shop/section1/ - страница с товарами раздела 1
- /shop/section1/section2/ - страница с товарами раздела 2 (где раздел 2 является подразделом раздела 1)
- /shop/section1/section2/...любое количество вложенных разделов/product - страница товара
Есть ли способ более изящно организовать такую структуру с использованием app роутера?
На данный момент у меня есть следующий подход:
- app
-- shop
-- page.ts
--- [...section]
--- page.ts
Эта структура позволяет создавать неограниченное количество вложенных разелов, но как можно добавить страницу товара в эту структуру?
Единственный вариант, который я вижу, это добавление условного оператора в [...sections]/page.ts, который бы вызывал различные компоненты, в зависимости от запроса на бэкенд по последнему элементу в параметрах URL. Если бэкенд вернул товар - показываем компонент товара, иначе - компонент раздела.
Чувствуется, что мое решение костыльное. Я уверен, что возможно более элегантное решение, но сам не могу найти его.