Привет всем, сегодня я буду обсуждать динамические маршруты в React JS. Я буду использовать библиотеку react-router-dom, поскольку она проста в использовании и гибка и может использоваться как для клиентской, так и для серверной маршрутизации.
Давайте начнем…
Настройка части маршрутизации -
index.js
import { BrowserRouter as Router } from 'react-router-dom'
.
.
<Router>
<App />
</Router>
.
.
- В файле index.js импортируйте компонент маршрутизатора и оберните компонент приложения внутри компонента маршрутизатора.
Создание маршрутов -
App.js
import React from 'react'; import { Routes, Route, Link } from 'react-router-dom'; import UserDetails from './UserDetails'; import './App.css';
function App() { const users = [1,2,3,4,5,6,7,8,9,10]; return ( <div className=""> <div className="mx-20 flex gap-5 my-24"> { users.map((user) => { return ( <Link to={`users/${user}`}>User {user}</Link> ) }) } </div> <Routes> <Route path="users/:userId" element={<UserDetails />} /> </Routes>
</div> ); }
export default App;
- Сначала мы импортировали Routes, Route и Link из react-router-dom.
- Routes используется для того, чтобы обернуть в него весь компонент Route.
- Маршрут используется для указания того, какой компонент будет отображаться по определенному пути или URL-адресу, путь предоставляется с использованием атрибута «путь», а компонент предоставляется с использованием атрибута «элемент».
- Ссылка используется для перенаправления пользователя на путь, указанный в ссылке, с использованием атрибута «to». Мы сделали ссылку динамической, используя строку шаблона, и сопоставили значения пользовательского массива с компонентом Link с номером 1–10.
- В атрибуте «путь» компонента маршрута мы использовали «users/:userId», двоеточие «:» используется для динамического маршрута, а доступ к параметрам можно получить, используя имя «userId», указанное в пути маршрута после двоеточия. .
Создание динамического компонента -
UserDetails.js
import React from 'react' import {useParams} from 'react-router-dom';
function UserDetails() { const {userId} = useParams(); return ( <div> <h1 className="text-indigo-600 m-12">User {userId}</h1> </div> ) }
export default UserDetails
- Мы использовали хук useParam для доступа к значениям параметров из URL-адреса.
- как видите, мы использовали точно такое же значение «userId» для доступа к значению.
- Вы можете проверить вывод, когда вы нажмете на любую ссылку, текст в компоненте UserDetail будет изменен.
СПАСИБО ЗА ПРОВЕРКУ ЭТОГО ПОСТА
Вы можете связаться со мной в -
Instagram — https://www.instagram.com/supremacism__shubh/
LinkedIn — https://www.linkedin.com/in/shubham-tiwari-b7544b193/
Электронная почта — [email protected]
^^Вы можете помочь мне пожертвованием по ссылке ниже Спасибо👇👇 ^^
☕ → https://www.buymeacoffee.com/waaduheck ←
Также проверьте эти сообщения
https://dev.to/shubhamtiwari909/js-push-and-pop-with-arrays-33a2/edit
https://dev.to/shubhamtiwari909/tostring-in-js-27b
https://dev.to/shubhamtiwari909/join-in-javascript-4050
https://dev.to/shubhamtiwari909/going-deep-in-array-sort-js-2n90