⊗jsrtPmRtLd 30 of 47 menu

Маршрут үшін деректер жүктеушісі React Router

Алдыңғы сабақта біз өнімдердің деректерін қоймадан алдық. Енді бұл деректерді маршрут элементіне жүктеу керек. Бұл үшін жүктеуші функциясы (loader) қолданылады. Қазір біз оны жасаймыз.

root.jsx файлын ашамыз, осы жерге getProducts импортын қосамыз forStorage.js файлынан:

import { getProducts } from '../forStorage'

Импорт жолдарынан кейін және Root функциясынан бұрын loader функциясының кодін жазамыз, ол бізге getProducts арқылы қоймадан өнімдер деректерін қайтарады. Жалпы алғанда мұндай функцияларды бөлек файлға жазу керек, бірақ біз аздап жалқаулық етеміз, сондықтан ескертуге назар аудармаңыз:

export async function loader() { const products = await getProducts(); return { products }; }

Енді жүктеушіміздің импортын main.jsx файлына қосамыз. Бұл жүктеуші біздің түбір үшін болады, сондықтан оны rootLoader деп атаймыз:

import Root, { loader as rootLoader } from './routes/root';

Және оны біздің маршрут объектісіне loader қасиетіне қосамыз:

const router = createBrowserRouter([ { path: '/', element: <Root />, errorElement: <ErrorPage404 />, loader: rootLoader, children: [ { path: 'products/:productId', element: <Product />, }, ], }, ]);

Алдыңғы сабақтардың тапсырмаларында сіз жасаған қолданбаны алыңыз. Сабақ материалын пайдаланып, root.jsx файлында студенттер деректерін жүктеу үшін loader функциясын жазыңыз және оны main.jsx файлындағы маршрут объектісіне қосыңыз.

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