Добавление ещё одного маршрута в React Router

У нас есть корневой маршрут, ведущий на главную страницу, на которой у нас есть ссылки для продуктов. Давайте теперь добавим еще один маршрут, чтобы при клике по одной из ссылок у нас отображалась страничка для продукта, а не экран с ошибкой.

Для начала давайте откроем наше приложение, которое мы делали на прошлых уроках и создадим в папке routes файл product.jsx. Сделаем в нем компонент Product:

function Product() {} export default Product;

Теперь создадим внутри Product объект product, со свойствами name, cost и amount, пока это будут некоторые фиксированные значения:

function Product() { const product = { name: 'Product', cost: 400, amount: 5, }; } export default Product;

И на страничке продукта мы будем выводить, соответственно, его название, стоимость и количество:

return ( <div> <h2>Product page</h2> <p>Name: {product.name}</p> <p>Cost: {product.cost}</p> <p>Amount: {product.amount}</p> </div> );

Обязательно добавим импорт компонента Product в файл main.jsx:

import Product from './routes/product';

И, наконец, добавим еще один маршрут в наше приложение, сделаем это сразу после корневого. В качестве пути укажем 'products/:productId', а в качестве элемента для отображения у нас выступает компонент Product:

{ path: '/', element: <Root />, errorElement: <ErrorPage404 />, }, { path: 'products/:productId', element: <Product />, },

А теперь запускаем приложение, кликаем по ссылкам и оказываемся на страничке с продуктом (пока она у нас одинаковая для всех ссылок), а не с ошибкой.

Возьмите приложение, созданное вами в заданиях к прошлым урокам. Пользуясь материалами урока, создайте подобным образом файл student.jsx, пусть на страничке студента будет выводиться его имя, фамилия, год поступления и специальность. Добавьте новый маршрут для странички студента в файле main.jsx, установите значение path в 'students/:studentId'. Убедитесь, что при клике по ссылкам вы попадаете теперь на страничку студента.



Чат с GPT Компилятор