Ana içeriğe atla

Mala Anlatır Gibi React — 7: Yönlendirme Paketi / react-router-dom

Mala Anlatır Gibi React — 7: Yönlendirme Paketi / react-router-dom

React’da, sayfalardan sayfaya geçiş yapmak için, kullanılan bir paket, kabaca bir tâbir ile.

Paketi yüklemek için: npm i react-router-dom

Genel bir iskelet ve <Route /> tanımı:

import {BrowserRouter as Router, Routes, Route} from 'react-router-dom'

<Router>
<Routes>
// route'lar buraya gelecek.
<Route path="/" element={<App />} />
<Route path="/menu" element={<Menu />} />
</Routes>

</Router>

Route’larımızı gördünüz. Neden “/” var? Çünkü “/” demek, ilk sayfayı açtığınız yer. Yani localhost:3000'e girdiniz değil mi, direkt orası.

Burada <Route /> içerisine yazdığımız şeyler, path= {}tanımladığımız yer, element={} ise o linke gittiğimiz de gelecek içerik.

Meselâ “/menu” adlı yere gidelim. <Menu /> component tanımlamışız ama eğer element={<h1>Merhaba menü sayfasındasınız</h1>} diye tanımlasaydık, ve localhost:3000/menu diye gitseydik, bizim karşımıza h1 etiketlerinin içerisinde yazdıklarımız gelecekti.

(Görsel, I.)

Yönlendirme için <Link />

<Link to="/"> Anasayfa </Link>
<Link to="/"> Menü </Link>

Link, react-router-dom paketi içerisinden gelir. to=”” ile beraber gideceğimiz yeri yazarız, aynı <a href=””></a> etiketi görevi görür.

Paket kullanımı için, basit şeyler.

İç içe yölendirmeler

<Route path="/submenu" element={<Menu />}>
<Route path="submenu" element={<Submenu />} />
</Route>

İç içe yönlendirme ne demek? /menu/submenu diye bir url ile erişiriz. Yani alt yönlendirme diyebiliriz, kısaca ve kabaca.

Meselâ mantıkî olarak bir ürün sayfanız olduğunu düşünelim. /menu/yemekAdi gibi olabilir. Ya da, alt kategori de farklı tür içerikler koyacaksınız onun içinde olabilir.

Şimdilik bunları bilmeniz yeterli. Sonrasıda, react-router-dom ile ilgili yine yazı gelecek.

Yorumlar

Bu blogdaki popüler yayınlar

Yıldırım Beyazıd ve Emir Timurlenk Savaşı

YILDIRIM BEYAZID VE EMİR TİMUR LENK SAVAŞI Ankara Savaşı (28 Temmuz 1402) Cengiz Han'ın vârisi olma iddiası ile çıkan Emir Timur. Beyazı'dın egemen olmasını kabul etmiyor. Onu küçümsüyor. Timur'un tahtını ele geçirmek için isyan başlatan   ve Timur Hindistan seferinden gelince bizzat kendisi tarafından kovulan Diyarbakır Beyi İlhan Ahmet Celâyir, Osmanlı'ya sığınmıştı. Epey Timur ve Beyazıd'ın arası gergindi. Fakat Timur kendi ırkından, dininden olan Osmanlı’ya saldırmak istemiyordu.   Timur’a tabî olan Mutahharten’ın ailesini Bursa’ya esir olarak gönderen Beyazid ile Timur’un arası açılmıştı.   “ Timur, kendisini sadece dünya üzerinde ulaşabileceği yere kadar hırsını doyurmak için Allah tarafından gönderilen “Allah’ın kulu” olarak değil, Türk halkının da gerçek ve tek temsilcisi olarak görüyordu. Yörüklerin bol paçalı şalvarları içinde, başında yüksek keçe başlığı ile tam bir Türk gibi giyinirdi.. Sarayı’nda sadece Türkçe konuşulur ve Türkçe yazı yazılır...

C# öğrenmek 102: Form Application

C# öğrenmek 102: Form Application C# öğrenirken en çok kullanacağımız yapı, Form App ’dir. Bize sağladığı bileşenler ( components ) önemlidir. Bu yazıya geldiyseniz eğer, zâten Form App açmayı biliyorsunuzdur. Ama zâten Visual Studio ’yu indirdikten sonra, Windows Form App ’i seçip, Next ’e basıp oluşturun. Form oluşturma örneği. (Görsel, I.) Bir form örneği görelim: Yeni oluşturulmuş örnek bir form görseli. (Görsel, II) Şimdi en önemli menüleri göreceğiz: Araçlar ( Toolbox ): Bileşenleri barındırır. UI Component ları ( Görünüm Bileşenleri ), formumuza sürekleyip koyarız. Ve Özellikler penceresinden değiştiririz. Kabaca en güzel anlatım budur. Haricî kütüphaneleri de buraya ekler ve erişirsiniz. Özellikler ( Properties ): Bu pencere’de, form ayarlarını ve eklediğimiz bileşenlerin özelliklerini değiştirebiliyoruz. Çözüm Gezgini ( Solution Explorer ): Proje dosyalarını buradan görürüz. Siler, taşır, oluşturur ve yeniden adlandırırız. Proje de kullanılan haricî kütüphaneleri de ...

Mala Anlatır Gibi React —9: İstek State Yönetimi / react-query

Mala Anlatır Gibi React —9: İstek State Yönetimi / react-query React’da istek state yönetimi paketini tanıtacağım. (Görsel, I.) Paketin amacı, istekleri yönetimi kolaylaştırmak. State’de tutmak. Paketi yükleyelim: npm i --save @tanstack/react-query Ana component’ı sarmalayın: import { QueryClient , QueryClientProvider } from '@tanstack/react-query' const client = new QueryClient () < QueryClientProvider client={client}> < App /> </ QueryClientProvider > Query kullanımı: import { useQuery } from '@tanstack/react-query' const { data } = useQuery ([ "çekilecek-veri-adı" ], ()=> { console . log (data) return fetch ( 'url' ) }) Hazır eventler: isLoading: const { isLoading } = useQuery () if (isLoading) { return < h1 > Yükleniyor.. </ h1 > } Hata yönetimi: const { isError } = useQuery () if (isError) { return < h1 > hata </ h1 > } Yeniden istek atmak: const { refetch } = useQuer...