Quiero construir el componente de encabezado a partir de la plantilla de Bootstrap, pero mi navegador arroja el siguiente error:
Uncaught Error: Invariant failed: You should not use <NavLink> outside a <Router> El error anterior ocurrió en el componente <Router.Consumer>
importé:
import React from 'react'; import { NavLink } from 'react-router-dom'; en mi Header.js y convertí todos mis <a> en <NavLink to='/Shop' >Shop</NavLink>
y mi App.js es así:
import Header from './components/Header'; import Footer from './components/Footer'; import Home from './container/Home'; import Shop from './container/Shop'; import {Switch} from 'react-router-dom'; import {Route} from 'react-router-dom'; function App() { return ( <> <Header /> <Switch> <Route path='/' exact component={Home} /> <Route path='/shop' exact component={Shop} /> </Switch> <Footer /> </> ); } export default App;En su App.js, agregue el componente de enrutador
Como esto
import Header from './components/Header'; import Footer from './components/Footer'; import Home from './container/Home'; import Shop from './container/Shop'; import {Switch} from 'react-router-dom'; import {Route} from 'react-router-dom'; import {BrowserRouter as Router} from 'react-router-dom'; function App() { return ( <> <Router> <Header /> <Switch> <Route path='/' exact component={Home} /> <Route path='/shop' exact component={Shop} /> </Switch> <Footer /> </Router> </> ); } export default App;