⊗jsrtPmRtADA 34 of 47 menu

Action method-ро бо роҳи React Router илова кардани маълумот

Дар ин дарс мо бо method-и action-и route-объект шинос мешавем. Ин method он вақт даъват карда мешавад, ки барнома як HTTP дархост аз навъи POST, PUT, PATCH ё DELETE (ба ғайр аз GET) ба route-и шумо мефиристад.

Барои оғоз, функсияи эҷоди маҳсулотро, ки мо дар дарси гузашта навишта будем, ба root.jsx-и худ ворид мекунем:

import { createProduct } from '../forStorage';

Акнун ба мо лозим аст, ки функсияи action-ро эҷод кунем, ки React Router онро ҳангоми клик кардан ба тугмаи иловаи маҳсулот даъват мекунад, онро пас аз функсияи loader ҷойгир мекунем:

export async function action() { const product = await createProduct(); return { product }; }

Биёед main.jsx-ро кушоем ва action-ро ворид кунем:

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

Ва онро ҳамчун қимати method-и action барои route-объект таъин кунем. Компоненти Form ба браузер имкон намедиҳад, ки дархостҳоро ба сервер дар вақти пахш кардани тугма бифиристад, балки ба method-и action-и route-и мо муроҷиат мекунад. Маршрутизатсия дар тарафи клиент бо React Router ин тавр ба таври ҷолиб кор мекунад:

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

Биёед барномаи худро оғоз кунем. Варақаи 'Барнома' (Application барои Chrome)-ро дар панели таҳиягар кушоем, дар байни навъҳои гуногуни захираҳо, ба indexedDB клик кунем, дар ин ҷо мо ба localforage таваҷҷӯҳ дорем. Акнун ҳангоми клик кардан ба тугмаи иловаи маҳсулотҳо дар барномаи мо ва навсозӣ кардани захираи localforage пас аз клик мо мебинем, ки дар keyvaluepairs ба массив products объектҳо бо id-ҳои гуногун илова мешаванд. Пирарӣ!!! Ин маънои онро дорад, ки дар захираи мо сабтҳо эҷод мешаванд! Албатта рӯйхат дар барномаи мо низ пурра мешавад. Ишорат: фаромӯш накунед, ки баъд аз ин дархостҳои сабтшудаи ин саҳифаро дар варақаи 'Storage' дар Application тоза намоед.

Барномаеро, ки шумо дар вазифаҳо барои дарсҳои гузашта сохтаед, гиред. Бо истифода аз маводҳои дарс, функсияи action-ро эҷод кунед, онро ба объекти route-и решагӣ ҳамчун method-и action илова намоед.

Тоҷикӣ
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 истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан