⊗jsrtPmRtASD 33 of 47 menu

React Routerда хранилищега маълумот қўшиш

Ушбу дарсда биз хранилищега продукт қўшиш билан шуғулланамиз. Бошлаш учун бизга продукт яратиш учун createProduct функцияси керак, уни forStorage.js файлидаги getProducts функциясидан кейин қўшамиз:

export async function createProduct() {}

Аввал someNetwork ни қўшамиз:

export async function createProduct() { await someNetwork(); }

Кейин бизга ҳар бир продукт учун уникал id керак бўлади, буни сиз React ўқув қўлланмасида учратгандингиз. Бунинг учун nanoid кутубхонасидан фойдаланамиз. Терминалда куйидаги буйруқни киритамиз:

npm install --save nanoid

forStorage.js файлига кутубхонани импорт қиламиз:

import { nanoid } from 'nanoid'

Бизда idлар 6 та белгидан иборат бўлсин:

export async function createProduct() { await someNetwork(); let id = nanoid(6); }

Продукт яратилганда дарров унинг объектида фақат id бўлади. getProducts ни чақирамиз, яратилган продуктни қўшамиз ва хранилищедаги продуктлар рўйхатини янгилаймиз. Тайёр:

export async function createProduct() { await someNetwork(); let id = nanoid(6); let product = { id }; let products = await getProducts(); products.unshift(product); await setProducts(products); return product; }

Хранилищедаги рўйхатни янгилаш функцияси куйидагича бўлади (биз унинг ичига продуктларни products калити остига қўшамиз), уни createProduct функциясидан кейин жойлаштирамиз:

function setProducts(products) { return localforage.setItem('products', products); }

Олдинги дарслардаги вазифаларда яратган иловангизни олинг. Дарс материалларидан фойдаланиб, forStorage.js файлида хранилищега талабалар маълумотларини қўшиш учун createStudent ва setStudents функцияларини ёзинг.

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