Router
React Router
React Router
Create React App sahifalararo marshrutlashni o'z ichiga olmaydi.
React Router eng mashhur yechim hisoblanadi.
React Router-ni Qo'shish
React Router-ni ilovangizga qo'shish uchun terminalda ilovaning asosiy katalogida quyidagi buyruqni ishga tushiring:
Eslatma
Ushbu qo'llanma React Router v6 versiyasidan foydalanadi.
Agar siz v5 versiyasidan yangilayotgan bo'lsangiz, @latest flagini qo'shishingiz kerak:
Papka Tuzilishi
Bir nechta sahifa yo'llari bo'lgan ilovani yaratish uchun avval fayl tuzilishi bilan boshlaymiz.
src papkasi ichida pages nomli papka yaratamiz va bir nechta fayllar qo'shamiz:
Har bir fayl juda oddiy React komponentini o'z ichiga oladi.
Asosiy Foydalanish
Endi index.js faylimizda Router-dan foydalanamiz.
Misol: URL asosida sahifalarga yo'naltirish uchun React Router-dan foydalaning:
Misolni Tushuntirish
Avvalo, biz <BrowserRouter> bilan kontentimizni o'rab olamiz.
Keyin biz <Routes> ni belgilaymiz. Ilovada bir nechta <Routes> bo'lishi mumkin. Bizning asosiy misolimiz faqat bittasini ishlatadi.
<Route> lar ichma-ich bo'lishi mumkin. Birinchi <Route> ning yo'li / bo'lib, Layout komponentini render qiladi.
Ichki <Route> lar ota yo'lni meros qilib oladi va unga qo'shiladi. Shuning uchun blogs yo'li ota yo'l bilan birlashtiriladi va /blogs bo'ladi.
Home komponenti yo'li yo'q, lekin index atributiga ega. Bu yo'lni ota yo'l uchun standart yo'l sifatida belgilaydi, ya'ni /.
* yo'lini belgilash har qanday aniqlanmagan URL-lar uchun "catch-all" (hammasini qamrab oluvchi) sifatida ishlaydi. Bu 404 xato sahifasi uchun juda yaxshi.
Sahifalar / Komponentlar
Layout komponenti <Outlet> va <Link> elementlariga ega.
<Outlet> joriy tanlangan yo'ni render qiladi.
<Link> URL-ni belgilash va ko'rish tarixini saqlash uchun ishlatiladi.
Ichki yo'lga havola qilish uchun har doim <Link> dan foydalanamiz, <a href=""> dan emas.
"Layout yo'li" - bu barcha sahifalarda umumiy kontentni qo'shadigan bo'linma, masalan, navigatsiya menyusi.
Layout.js:
Home.js:
Blogs.js:
Contact.js:
NoPage.js:
Last updated on