Tengo una barra de navegación en React con el siguiente código
import './App.css'; import { BrowserRouter as Router, Route, Link, Switch } from 'react-router-dom'; import Header from './components/header/Header'; import Home from './components/home/Home'; import About from './components/about/About'; import Accessories from './components/accessories/Accessories'; import Category1 from './components/accessories/categories/Category1'; import Category2 from './components/accessories/categories/Category2'; import Category3 from './components/accessories/categories/Category3'; import Category4 from './components/accessories/categories/Category4'; import Contact from './components/contact/Contact'; import Footer from './components/footer/Footer'; const App = () => { return ( <div className="App"> <Header /> <Router> <Switch> <Route exact path="/"> <Home /> <About /> <Accessories /> <Contact /> </Route> <Route exact path="/category1"> <Category1 /> </Route> <Route exact path="/category2"> <Category2 /> </Route> <Route exact path="/category3"> <Category3 /> </Route> <Route exact path="/category4"> <Category4 /> </Route> </Switch> </Router> <Footer /> </div> ); } export default App; Puedo ir sin problemas de / a /category1 , pero cuando redirijo a / from /category1 , no se vuelve a procesar hasta que actualizo la página. No tengo ni idea de qué hacer ahora. Gracias por cualquier ayuda de antemano
Editado : acabo de cambiar todos mis Links a etiquetas de anclaje y ahora están funcionando, pero ¿es una buena práctica?
<Route exact path="/"> <Home /> <About /> <Accessories /> <Contact /> </Route>Coloque el código anterior después de que se hayan definido todas las rutas y debería funcionar
<Switch> <Route exact path="/category1"> <Category1 /> </Route> <Route exact path="/category2"> <Category2 /> </Route> <Route exact path="/category3"> <Category3 /> </Route> <Route exact path="/category4"> <Category4 /> </Route> <Route exact path="/"> <Home /> <About /> <Accessories /> <Contact /> </Route> </Switch>La ruta '/' debe definirse al final después de que se hayan definido todas las rutas
Tienes que usar el elemento para redirigir a otras rutas. En "/category1", puede usar el elemento para redirigir "/" sin recargar la página.