React Tutorial 2023 72 – Router 4 -createRoutesFromElements İle Route Oluşturma


0

Merhabalar.

Bu yazımda createRoutesFromElements ile nasıl Route oluştururuz bunlara bakacağız.

Bir önceki yazımda oluşturduğumuz proje üzerinde küçük bir güncelleme yapmamız yeterli olacak.

createRoutesFromElements fonksiyonu, <Route> bileşenlerinden rotalarını oluşturur. Bu fonksiyon, JSX yerine nesneler olarak rotalarınızı oluşturmayı tercih ederseniz kullanışlıdır.

Şimdi kendi örneğimize gelecek olursak.

Yine tamamını veriyorum kodların sonra açıklayacağım.

import './App.css';
import { Route, RouterProvider, createBrowserRouter, createRoutesFromElements } from 'react-router-dom';
import HomePage from './Pages/Home/HomePage';
import AboutPage from './Pages/About/AboutPage';
import ContactPage from './Pages/Contact/ContactPage';
import ProductPage from './Pages/Product/ProductPage';

const routerDefinition = createRoutesFromElements(
  <Route>

    <Route path="/" element={<HomePage />} />,
    <Route path="/about" element={<AboutPage />} />,
    <Route path="/contact" element={<ContactPage />} />,
    <Route path="/product" element={<ProductPage />} />

  </Route>

);

const router = createBrowserRouter(routerDefinition);

function App() {
  return (
    <>
      <RouterProvider router={router} >
        {router}
      </RouterProvider>
    </>
  );
}

export default App;

Import İşlemleri

import { Route, RouterProvider, createBrowserRouter, createRoutesFromElements } from 'react-router-dom';

createRoutesFromElements İle RouteDefinition Oluştur

const routerDefinition = createRoutesFromElements(
  <Route>

    <Route path="/" element={<HomePage />} />,
    <Route path="/about" element={<AboutPage />} />,
    <Route path="/contact" element={<ContactPage />} />,
    <Route path="/product" element={<ProductPage />} />

  </Route>

);

Router Objesi Oluştur

const router = createBrowserRouter(routerDefinition);

Geri kalan kodlar bir önceki dersimizle aynı.

Uygulama Test

Bir sonraki yazımda görüşmek üzere.


Like it? Share with your friends!

0

0 Comments

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir