Ao clicar no Link do react-router ele não renderiza o componente do jeito que deveria, só é renderizado quando eu dou um refresh na página…
Import:
import { BrowserRouter as Router, Link, Route } from 'react-router-dom';
Links:
<div id="buttons">
<Router>
<Link id="btn-main-page" className="btn-classic-menu" to="/">Página inicial</Link>
<Link id="btn-explore" className="btn-classic-menu" to="/auth">Explorar</Link>
</Router>
</div>
Routes:
<Router>
<Route exact path="/" component={() => <Home tweets={tweets}/>}/>
<Route exact path="/auth" component={AuthPage}/>
</Router>
Seu routes está exatamente assim? Muda pra essa estrutura abaixo e faz o teste (todos são importações do react router dom).
<Router history={history}>
<Switch>
<Route path="/entrar" component={Login}/>
<Route path="/registrar" component={Register}/>
</Switch>
</Router>
Cria um arquivo chamado history.js
dentro do seu src.
import {createBrowserHistory as history} from 'history';
export default history();
E no seu App.js, o BrowserRouter
tem que estar como pai de todos elementos, um exemplo do meu uso em uma aplicação
<BrowserRouter>
<ThemeProvider theme={theme}>
<Tour
steps={steps}
isOpen={isTourOpen}
showNumber={false}
getCurrentStep={(curr) => setTourStep(curr)}
showNavigation={false}
showButtons={false}
showCloseButton={false}
/>
<Container>
<Wrapper>
<DivPrincipal>
<Routes.Routes/>
</DivPrincipal>
<BottomNavigationMenu/>
</Wrapper>
</Container>
<GlobalStyles/>
</ThemeProvider>
</BrowserRouter>
1 curtida
Opa! Desculpa a demora, fiquei um tempo sem mexer no meu projeto…
Enfim, eu coloquei o Router como pai de todos os elementos, como vc mencionou, e isso foi o suficiente pra tudo funcionar. Obrigado
1 curtida