⊗jsrtPmRtAD 32 of 47 menu

React Router'da Veri Ekleme

Önceki derslerde bir yükleyici hazırladık ve belirli bir rota için verileri depodan dışa aktardık. Şimdi uygulamamız örneğinde yeni bir ürün nasıl eklenir ve verileri depoya nasıl yazılır öğrenelim.

root.jsx dosyasını açalım ve nav önüne yeni ürün eklemek için bir buton ekleyelim, onu bir form etiketine saralım. Ayrıca şimdi butonu ve listemizi #menu ile başka bir div'e saralım. Şimdi düzen şöyle görünecek:

return ( <div id="main"> <div id="menu"> <form method="post"> <button type="submit">ürün ekle</button> </form> {products.length ? ( <nav> {products.map((product) => ( <Link key={product.id} to={`products/${product.id}`}> {product.name ? product.name : <i>İsimsiz</i>} </Link> ))} </nav> ) : ( <p> <i>burada ürün yok ...</i> </p> )} </div> <div id="product"> <Outlet /> </div> </div> );

Eğer şimdi geliştirici panelinin 'Ağ' sekmesine gider ve ardından butonumuza basarsak, sunucuya hatalı bir belge isteği göreceğiz. React Router ile, sunucuya istek yapılmadan istemci tarafında yönlendirme yapacağız.

Bunun için form etiketini React Router'ın Form bileşeni ile değiştirelim. Önce Form import'unu ekleyelim:

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

Şimdi kod parçasındaki form etiketlerini değiştirelim:

<Form method="post"> <button type="submit">ürün ekle</button> </Form>

Uygulamamızı yeniden yükleyin ve geliştirici panelini tekrar kontrol edin. Ürün ekleme butonuna basalım - artık sunucuya istek yok (şimdilik hatayı dikkate almayın).

Önceki derslerdeki görevlerde oluşturduğunuz uygulamayı alın. Ders materyallerinden yararlanarak, Root fonksiyonunun işaretlemesini düzeltin, form etiketi içine öğrenci eklemek için bir buton ekleyin. Butona basıldığında sunucuya istek yapıldığından emin olun.

Şimdi form etiketini, Form bileşeni ile değiştirin. Öğrenci ekleme butonuna basıldığında sunucuya istek gönderilmediğinden emin olun.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet