⊗jsrtPmRtUfD 40 of 47 menu

Ажурирање на податоци со FormData во React Router

Имаме функција updateProduct за ажурирање на податоците на производот во складиштето. Сега да преминеме на податоците од нашата форма за уредување.

При поднесување на HTML-форма, прелистувачот создава објект FormData со податоци и ги испраќа во телото на барањето до серверот. Притоа, вредноста на секое поле се зема во објектот од атрибутот name (затоа тие ни беа потребни во формата, се сеќавате?). Ние сега знаеме дека React Router испраќа барања не до сервер, туку во методот action на нашиот рута, соодветно, таму ќе стигне и FormData. Ајде да работиме со ова.

За почеток, да ја отвориме нашата датотека edit.jsx и да ја импортираме updateProduct:

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

Потоа ќе напишеме функција за action на објектот на рутата, како што правевме претходно. Ќе ја додадеме веднаш по функцијата loader. Ќе и го пренесеме нашиот request и URL параметрите:

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

Од барањето ќе го добиеме FormData, потоа ќе ги извлечеме податоците од него во вид на објект, кој содржи парови клуч: вредност и со помош на updateProduct ќе ги испратиме овие податоци во складиштето:

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

Останува само да одиме во main.jsx и да ја додадеме функцијата action во објектот на рутата за уредување. Да ја импортираме action:

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

И да го додадеме во објектот на рутата за уредување:

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

Стартувајте ја апликацијата сега, додадете неколку производи во листата, потоа кликнувајќи на нив пополнете ја формата и притиснете на копчето за зачувување. Не заборавајте да отидете во панелот на развивачот во делот localforage и да го освежите складиштето. Сега во делот keyvaluespairs можеме да ги видиме објектите во низата products со нашите внесени податоци.

Земете ја апликацијата што ја создадовте во задачите за претходната лекција. Користејќи ги материјалите од лекцијата, создадете функција action за рутата за уредување на податоците за студентот, додадете ја во објектот на рутата за уредување. Отворете го панелот на развивачот и проверете дали при промените, ажурираните податоци навистина се прикажуваат на јазичето localforage.

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