⊗jsrtPmRtAD 32 of 47 menu

React Router'da ma'lumot qo'shish

Oldingi darslarda biz yuklovchini tayyorladik va ma'lum bir marshrut bo'yicha ma'lumotlarni ombordan yuklab olishni o'rgandik. Keling, endi ilovamiz misolida yangi mahsulot qo'shish va uning ma'lumotlarini omborga yozishni o'rganamiz.

root.jsx faylini ochamiz va nav dan oldin yangi mahsulot qo'shish uchun tugmani, uni forma tegiga o'rab qo'shamiz. Shuningdek, tugma va ro'yxatimizni yana bir div bilan #menu ga o'rab chiqamiz. Maket endi shunday ko'rinadi:

return ( <div id="main"> <div id="menu"> <form method="post"> <button type="submit">mahsulot qo'shish</button> </form> {products.length ? ( <nav> {products.map((product) => ( <Link key={product.id} to={`products/${product.id}`}> {product.name ? product.name : <i>Nomsiz</i>} </Link> ))} </nav> ) : ( <p> <i>bu yerda mahsulotlar yo'q ...</i> </p> )} </div> <div id="product"> <Outlet /> </div> </div> );

Agar biz hozir ishlab chiquvchi panelidagi 'Tarmoq' yorlig'iga o'tsak, so'ngra tugmamizni bossek, serverga xato so'rov yuborilganini ko'ramiz. React Router yordamida biz serverga so'rov yubormasdan, mijoz tomonida marshrutlashtirishdan foydalanamiz.

Buning uchun form tegini React Router komponenti Form ga o'zgartiramiz. Boshlanish uchun Form importini qo'shamiz:

import { Form } from 'react-router-dom';

Endi kod bo'lagidagi form teglarini almashtiramiz:

<Form method="post"> <button type="submit">mahsulot qo'shish</button> </Form>

Ilovamizni qayta yuklang va ishlab chiquvchi panelini tekshiring. Mahsulot qo'shish tugmasini bosing - endi serverga so'rov yo'q (hozircha xatoga e'tibor bermang).

Oldingi darslar uchun topshiriqlarda yaratgan ilovangizni oling. Dars materiallaridan foydalanib, Root funksiyasining vertisini tuzating, form tegida talaba qo'shish uchun tugma qo'shing. Tugma bosilganda serverga so'rov yuborilishiga ishonch hosil qiling.

Endi form tegini Form komponentiga almashtiring. Talaba qo'shish tugmasi bosilganda serverga so'rov yuborilmasligiga ishonch hosil qiling.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish