⊗jsrtPmRtUfD 40 of 47 menu

Kusasisha Data kwa FormData katika React Router

Tuna funkta updateProduct kwa kusasisha data ya bidhaa katika kuhifadhi. Sasa tuendelee kwenye data kutoka kwa fomu yetu ya kuhariri.

Wakati wa kuwasilisha fomu ya HTML, kivinjari hunda kitu FormData na data na hutuma katika mwili wa ombi kwenye seva. Zaidi ya hayo, thamani ya kila kiingizo inachukuliwa ndani ya kitu kutoka kwa sifa name (kwa hiyo ndio maana zilihitajika kwetu kwenye fomu, unakumbuka?). Sisi sasa tunajua kuwa React Router hutuma maombi si kwenye seva, bali kwenye mbinu action ya njia yetu, ipasavyo, huko ndipo FormData itaingia. Hebu tufanye kazi na hii.

Kuanza, wacha tufungue faili yetu edit.jsx na kuagiza updateProduct:

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

Kisha tutaandika funkta kwa action ya kitu cha njia, kama tulivyofanya awali. Tutaiongeza mara baada ya funkta loader. Tutapita request yetu na vigezo vya URL:

export async function action({ request, params }) {}

Kutoka kwa ombi tutapata FormData, kisha tutatoa data yake kwa mfumo wa kitu kilicho na jozi ufunguo: thamani na kwa kutumia updateProduct tutatuma data hii kwenye kuhifadhi:

export async function action({ request, params }) { const formData = await request.formData(); const updates = Object.fromEntries(formData); await updateProduct(params.productId, updates); return 1; }

Imebaki tu kwenda kwenye main.jsx na kuongeza funkta action kwenye kitu cha njia ya kuhariri. Tuagize action:

import EditProduct, { loader as editProductLoader, action as editAction, } from './routes/edit';

Na kuiongeza kwenye kitu cha njia ya kuhariri:

{ path: 'products/:productId/edit', element: <EditProduct />, loader: editProductLoader, action: editAction, },

Sasa anzisha programu, ongeza bidhaa kadhaa kwenye orodha, kisha ukibonyeza kwa kila moja jaza fomu na ubonyeze kitufe cha kuhifadhi. Usisahau kwenda kwenye paneli ya programu jengo kwenye sehemu ya localforage na kusasisha kuhifadhi. Sasa kwenye sehemu ya keyvaluespairs tunaweza kuona vitu kwenye safu products na data yetu iliyoingizwa.

Chukua programu uliyoiumba kwenye kazi za somo lilopita. Kwa kutumia nyenzo za somo, unda funkta action kwa njia ya kuhariri data ya mwanafunzi, ongeza kwenye kitu cha njia ya kuhariri. Fungua paneli ya programu jengo na uhakikishe kuwa wakati wa mabadiliko data iliyosafishwa inaonyeshwa kwenye kichupo cha localforage.

Kiswahili
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Tunatumia kuki kwa ajili ya uendeshaji wa tovuti, uchambuzi na ubinafsishaji. Usindikaji wa data unafanyika kulingana na Sera ya Faragha.
kubali yote sanidi kataa