⊗jsrtPmRtADA 34 of 47 menu

Duomenų pridėjimas su action metodu React Router

Šioje pamokoje susipažinsime su maršruto objekto action metodu. Šis metodas iškviečiamas tada, kai programa siunčia HTTP užklausą POST, PUT, PATCH arba DELETE tipo (išskyrus GET) jūsų maršrutui.

Pirmiausia importuokime produkto kūrimo funkciją, kurią sukūrėme praeitoje pamokoje, į mūsų root.jsx:

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

Dabar mums reikia sukurti action funkciją, kurią iškviečia React Router paspaudus produkto pridėjimo mygtuką, patalpinkime ją po loader funkcijos:

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

Atidarykime main.jsx ir importuokime action:

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

Ir nustatykime ją kaip action metodo reikšmę maršruto objektui. Komponentas Form neleis naršyklei siųsti užklausų į serverį paspaudus mygtuką, o kreipsis į mūsų maršruto action metodą. Taip įdomiai veikia kliento pusės maršroutizavimas su React Router:

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

Paleiskime mūsų programą. Atidarykite skirtuką 'Programa' (Application Chrome) kūrėjo skydelyje, tarp įvairių saugyklų tipų spustelėkite indexedDB, čia mums įdomi localforage. Dabar spustelėdami produktų pridėjimo mygtuką mūsų programoje ir atnaujindami localforage saugyklą po spustelėjimo matome, kaip keyvaluepairs į masyvą products pridedami objektai su skirtingais id. Pergalė!!! Tai reiškia, kad mūsų saugykloje sukuriami įrašai! Žinoma, sąrašas mūsų programoje taip pat papildomas. Užuomina: nepamirškite vėliau išvalyti išsaugotus šio puslapio duomenis skirtuke 'Storage' Application.

Paimkite programą, kurią sukūrėte užduotyse prie ankstesnių pamokų. Pasinaudodami pamokos medžiaga, sukurkite action funkciją, pridėkite ją į šakninio maršruto objektą kaip action metodą.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti