Next.js 15 Tutorial - 7 - Dynamic Routes

Next.js 15 Tutorial - 7 - Dynamic Routes

Введение в динамические маршруты

Создание структуры для продуктов

  • Мы изучили вложенные маршруты, создав папку Blog с подкаталогами, каждый из которых имеет свою страницу. Однако для сложных приложений это не всегда практично.
  • При посещении страницы SL products пользователь видит список из трех продуктов, а при переходе к конкретному продукту по ID отображаются его детали.

Реализация списка продуктов

  • Создаем папку products и файл page.tsx, который будет содержать компонент React для отображения списка продуктов.
  • На localhost 3000/SL products мы увидим наш список продуктов — это первый этап завершен.

Проблемы с созданием отдельных папок

  • Можно было бы создать отдельные папки для каждого продукта (например, product ID 1, product ID 2), но это приведет к проблемам с обслуживанием при большом количестве продуктов.

Динамические сегменты маршрутов

  • Вместо создания множества папок мы создаем специальную папку с квадратными скобками: [productID]. Это позволяет сделать маршруты динамическими и гибкими.
  • Теперь при переходе на SL/products/1 или SL/products/100 будут отображаться соответствующие детали продукта благодаря динамическому сегменту.

Получение параметров маршрута

  • Каждый маршрут получает параметры через пропс params. Мы можем использовать async/await для получения значений динамических сегментов.
  • Внутри компонента мы получаем productID из props и отображаем его в интерфейсе. Это позволяет видеть детали конкретного продукта.

Итоги реализации сценария 4

  • Мы создали структуру с квадратными скобками и добавили page.tsx внутри нее. Теперь Next.js сопоставляет URL со страницей внутри этой структуры.
Video description

Mastering Dynamic Routing in Next.js: Listings and Details In this video, we explore the concept of dynamic routing in Next.js by building a product listing and details page. Starting with basic static routes, we quickly identify the limitations and proceed to implement dynamic segments using square bracket notation. By creating a folder named [productID] in the products directory, we achieve flexible routing for any product ID. The tutorial includes building a React component to dynamically display product details based on the route parameter. Ideal for applications requiring list-detail views, such as e-commerce sites or blogs, this method streamlines dynamic content efficiently. 📔 GitHub Repo - https://github.com/gopinav/Next.js-15-Tutorials 📘 Frontend Interview Course - https://learn.codevolution.dev/ 💖 Support UPI - https://support.codevolution.dev/ 💖 Support Paypal - https://www.paypal.me/Codevolution 💾 Github - https://github.com/gopinav 📱 Follow Codevolution + Twitter - https://twitter.com/CodevolutionWeb + Facebook - https://www.facebook.com/codevolutionweb 📫 Business - codevolution.business@gmail.com 00:00 Introduction to Nested Routes 00:26 Scenario 4: Product Listing and Details Page 00:56 Creating the Products Folder and Page 02:27 Implementing Dynamic Route Segments 03:41 Fetching and Displaying Product Details 05:00 Summary and Visualization of Dynamic Routes 05:57 Conclusion and Channel Support