⊗jsrxPmTlsIRt 10 of 57 menu

React Routerни Redux иловасига ўрнатиш

Олдинги дарсларда биз Redux билан ишлаш учун асосан асбобларни ўрнатган эдик. Кўпинча иловага унинг web-саҳифалари бўйича навигация қилиш учун маршрутизатор керак бўлади ва бизнинг иловамиз ұндa ҳам истисно бўлмайди. Бунинг учун биз React Router кутубхонасини ўрнатамиз.

Лойиҳамизни ochамиз ва терминалда куйидаги буйруқни киритамиз:

npm install react-router-dom

Бир оз олдинга yұриб aйтиш керакки, бизнинг Redux иловамиз анъанавий равишда маҳсулотларга бағишланган бўлиб, улар ҳақидаги маълумотлар бирор сотивчилар томониidan чоп этилади. Шунинг учун ҳозир биз асосий App компонентини бир оз ўзгартирамиз, шунингдек, иловага маршрутизацияни амалга ошириш учун функционал қўшамиз.

Бошлаш учун src папкасига, сўнгра app папкасига кирамиз ва бу ерда root.jsx файлини яратамиз. Бу сайтимизнинг илдизи бўлади: чап томонида бизда меню, ўнг томонида - контент (ҳозирча бизда фақат сарлавҳа бор):

function Root() { return ( <div id="main"> <div id="menu"> <nav> <a>Products</a> <a>Sellers</a> </nav> </div> <div id="main_page"> <h2>Бу менинг биринчи Redux иловам!</h2> <hr></hr> </div> </div> ) } export default Root

App компонентини эса биз ўзгартирамиз. Бошлаш учун унинг ички таркибини учирамиз. Сўнгра роутер учун икки функция ва бизнинг илдиз компонент Root ни импорт қиламиз:

import { createBrowserRouter, RouterProvider } from 'react-router-dom' import Root from './app/root'

Импортдан кейин куйига роутер яратамиз, ва биринчи маршрутни ёзамиз, унга бизнинг Root ни кўрсатиладиган элемент сифатида ўтказамиз ва, мос равишда, йўлни '/' га ўрнатамиз. Кейинчалик App да биз керакли бошқа маршрутларни ҳам қўшамиз:

const router = createBrowserRouter([{ path: '/', element: <Root /> }])

Куйида App функцияси учун кодни ёзамиз:

function App() { return <RouterProvider router={router} /> } export default App

Ҳаммаси. Ишга туширамиз. Кейинги бўлимда биз Redux иловаси учун ишлайдиган компонентларни амалга оширамиз.

Якунида озгина чирой қўшамиз, бунинг учун index.css да стилларни ёзамиз:

body { font-size: 24px; line-height: 1.5; } nav { display: flex; flex-direction: column; } ul { list-style: none; padding: 0; } h1, h2, h3 { margin: 0; } a { text-decoration: none; color: blue; cursor: pointer; } #main { display: flex; margin: 20px; } #menu { margin-right: 50px; padding-top: 50px; padding-right: 50px; border-right: 2px solid lightgray; font-weight: bold; }

React Routerни иловангизга қўшинг.

Сизнинг иловангиз ўқувчилар ҳақида бўлсин, улар ҳақидаги маълумотларни ўқитувчилар чоп этади. Буни ҳисобга олган ҳолда, илдиз Root компонентини яратинг. App компонентини дарста тавсифланганидек ўзгартиринг.

Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш