Pessoal, boa tarde! Tudo certo?
Estou colocando um projeto em prática com os mesmos fundamentos deste curso. A intenção é fazer uma página específica para cada jogador, utilizando o useParams().
Porém, o problema que estou tendo é que, quando clicamos no { Link } (componente do React-Router-Dom} ele está inserido o path na Url da aplicação, porém não está renderizando, somente quando dou um refresh na página.
Só para entender melhor, o projeto que estou fazendo é sobre o meu time do coração (Internacional) onde existem, por enquanto, duas páginas: Principal e Plantel. Quando entamos na página plantel, é renderizado todos os jogadores do clube e quando clicado no jogador, é direcionado para uma página específica sobre ele (praticamente a mesma coisa que o Doguito com as notícias).
Seguem os códigos:
import { BrowserRouter, Route, Switch } from 'react-router-dom';
import Home from "./Pages/Home";
import './index.css';
import Rodape from './components/Rodape';
import Plantel from './Pages/Plantel';
import Cabecalho from './components/Cabecalho';
import Jogador from './Pages/Jogador';
function App() {
return (
<>
<BrowserRouter>
<Cabecalho />
<Switch>
<Route exact path='/'>
<Home />
</Route>
<Route exact path='/plantel'>
<Plantel />
</Route>
<Route path={'/plantel/:id'}>
<Jogador />
</Route>
</Switch>
</BrowserRouter>
<Rodape />
</>
);
}
export default App;
Todos os Links estão dentro da componente cabecalho que segue abaixo:
import { Link } from 'react-router-dom';
import adidas from '../../assets/imagens/logo-adidas.png';
import inter from '../../assets/imagens/logo-inter.png';
import { StyledHeader } from './styles';
function Cabecalho() {
return (
<StyledHeader>
<figure>
<Link to='/'>
<img src={inter} alt='escudo internacional' />
</Link>
<img src={adidas} alt='logo adidas' />
</figure>
<nav>
<ul>
<li>
<Link to='/'>Página Principal</Link>
</li>
<li>
<Link to='/plantel'>Plantel</Link>
</li>
<li>
<Link to='/titulos'>Títulos</Link>
</li>
</ul>
</nav>
</StyledHeader>
);
}
export default Cabecalho;
Alguém já teve o mesmo erro e pode me ajudar? Abraços!!