⊗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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне