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
Post a Comment