⊗jsrtPmRtAD 32 of 47 menu

Kuongeza Data kwenye React Router

Katika masomo yaliyopita tumeandaa loader na upakiaji wa data kwenye njia maalum kutoka kwa uhifadhi. Hebu sasa tufahamiane kwa mfano wa programu yetu jinsi ya kuongeza bidhaa mpya na kuandika data yake kwenye uhifadhi.

Wacha tufungue faili root.jsx na tuongeze kifungo cha kuongeza bidhaa mpya kabla ya nav, tukikikunja kwenye tagi ya fomu. Pia sasa tutaifunga kifungo na orodha yetu kwenye div nyingine na #menu. Muundo sasa utaonekana hivi:

return ( <div id="main"> <div id="menu"> <form method="post"> <button type="submit">ongeza bidhaa</button> </form> {products.length ? ( <nav> {products.map((product) => ( <Link key={product.id} to={`products/${product.id}`}> {product.name ? product.name : <i>Haijaorodheshwa</i>} </Link> ))} </nav> ) : ( <p> <i>hakuna bidhaa hapa ...</i> </p> )} </div> <div id="product"> <Outlet /> </div> </div> );

Ikiwa sasa tutaingia kwenye kichupo 'Mtandao' cha kidude cha wasanidi, kisha tubonyeze kifungo chetu, tutaona ombi lililokosekana la hati kwenye seva. Kwa kutumia React Router tutatumia tena uelekezaji wa njia upande wa mteja, tukiondoa ombi kwa seva.

Wacha kwa hili tubadilishe tagi form kuwa komponeniti Form ya React Router. Ongeza kuagiza Form kwa mara ya kwanza:

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

Sasa badilisha tagi form kwenye kipande cha kificho:

<Form method="post"> <button type="submit">ongeza bidhaa</button> </Form>

Pakia upya programu yetu na uangalie tena kidude cha wasanidi. Tubonyeze kifungo cha kuongeza bidhaa - sasa hakuna ombi kwa seva (usijali kuhusu hitilafu kwa sasa).

Chukua programu uliyoiumba katika kazi za masomo yaliyopita. Kwa kutumia nyenzo za somo, sahihisha muundo wa kitendakazi Root, ongeza kifungo cha kuongeza mwanafunzi kwenye tagi form. Hakikisha kuwa wakati wa kubonyeza kifungo kuna ombi kwa seva.

Sasa badilisha tagi form, uweke komponeniti Form. Hakikisha kuwa wakati wa kubonyeza kifungo cha kuongeza mwanafunzi ombi kwa seva halitumwi.

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