Hooks useNaviagte
Lo useNavigate ti consente di passare da un componente all’altro all’interno di una funzione
Esempio di un possibile utilizzo
File App.js
import React from 'react'
import {Route, BrowserRouter, Routes} from "react-router-dom"
//IMPORTO I COMPONENTI
import Home from "./Home"
import MiaNavbar from "./MiaNavbar"
import ChiSiamo from './ChiSiamo'
import DoveSiamo from './DoveSiamo'
const App = () => {
//RETURN --> Stampa a video
return (
<div>
<h1>React router dom</h1>
<BrowserRouter>
{/* NAVBAR PER LA NAVIGAZIONE (sono obbilgato a inserira dentro a BrowserRouter!)*/}
<MiaNavbar />
{/* ROUTES (collegamenti)*/}
<Routes>
{/* Aggiungo una route per ogni componente da inserire */}
{/* element={} --> Elemento da inserire (devo prima importarlo) */}
{/* path={} --> Percorso dell'URL in cui inserirlo */}
{/* es. Home sarà a http://localhost:3000, ChiSiamo si troverà a http://localhost:3000/ChiSiamo */}
<Route element={<Home />} path={"/"}/>
<Route element={<ChiSiamo />} path={"/ChiSiamo"}/>
<Route element={<DoveSiamo />} path={"/DoveSiamo"}/>
</Routes>
</BrowserRouter>
</div>
)
}
export default App
File MiaNavbar.js
import React from 'react'
import {NavLink, useNavigate} from "react-router-dom"
const MiaNavbar = () => {
//DICHIARAZIONE DELLO useNavigate
const pippo = useNavigate()
//FUNZIONE APRI (richiamata alla pressione del button)
const apri =() => {
console.log("FUNZIONE APRI (pressione del button)")
pippo("/ChiSiamo")
}
//RETURN --> Stampa a video
return (
<div>
{/* Navbar */}
<NavLink to={"/"}>HOME</NavLink><br/>
<NavLink to={"/ChiSiamo"}>Chi siamo ?</NavLink><br/>
<NavLink to={"/DoveSiamo"}>Dove siamo ?</NavLink><br/>
{/* Equivalente del cliccare la fraccie indietro (<--) del browser, torna al componente aperto precedentemente */}
<NavLink to={-1}>INDIETRO</NavLink><br/>
{/* Button */}
<input type="button" value="API" onClick={apri}/>
</div>
)
}
export default MiaNavbar