Router-1

   //Home

import React from 'react'


export default function Home() {
  return (
    <div>Home</div>
  )
}

// MyHoc

import React from 'react'
import Header from './Header'
import Footer from './Footer'
import {Link } from 'react-router-dom';

const MyHoc = (Component) => ({...props})=>(
    <div>
     
    <Header/>
   
      <Link to="/">Home</Link>
      <Link to="/about">About</Link>
      <Link to="/contact">Contact</Link>
   
    <div>
      <Component {...props}/>
    </div>
   
    <Footer/>
  </div>
)
export default MyHoc;


//Router


import Home from './Home';
import About from './About';
import Contact from './Contact';
import MyHoc from './MyHoc'

const MyHocHome = MyHoc(Home);
const MyHocAbout = MyHoc(About);
const MyHocContact = MyHoc(Contact);

export const AllPages = () => {
   
    let  routes = [
        {
          path: "/",
          element: <MyHocHome/>    
        },
        {
          path: "/about",
          element: <MyHocAbout />
        },
        {
          path: "/contact",
          element: <MyHocContact />
        },
   
      ]
    return routes;
  }
 

//App.js


import { BrowserRouter as Router, Route,Routes,Link, useRoutes,  } from 'react-router-dom';
import { AllPages } from './router/Router';


function App() {
  const dd = useRoutes(AllPages())
  return (
    <div className="App">
    {dd}
    </div>
  );
}

export default App;

//index.js

import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import './App.css';
import reportWebVitals from './reportWebVitals';
import Home from './Home';
import { BrowserRouter } from 'react-router-dom';


const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <React.StrictMode>
    <BrowserRouter>
    <App/>
    </BrowserRouter>
  </React.StrictMode>
);

// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();

 

Comments

Popular posts from this blog

Controlled Form

LOCAL STORE

NodeJS MongoDB