Na aula que o professor ensinar a fazer a funcionalidade de voltar é possível ver que a página dá um refrash, é posssível fazer essa navegação sem o recarregamento da página?
Na aula que o professor ensinar a fazer a funcionalidade de voltar é possível ver que a página dá um refrash, é posssível fazer essa navegação sem o recarregamento da página?
Oi Mayron, tudo bem?
Desculpe a demora em retornar.
Primeiramente, obrigada pela pergunta! É sempre bom ver alunos interessados em aprender mais sobre o assunto. Respondendo a sua dúvida, sim, é possível fazer a navegação sem o refresh da página.
Na aula em que o professor ensina como implementar a funcionalidade de voltar, ele utiliza o método goBack()
da biblioteca react-router-dom
. Esse método, como você bem observou, causa um refresh na página. Mas existem outras maneiras de se fazer a navegação sem esse refresh.
Uma opção é utilizar o componente Link
da biblioteca react-router-dom
. Esse componente é utilizado para criar links para outras rotas da aplicação e é muito simples de se usar. Por exemplo, imagine que você tem uma rota para a página de contato e quer criar um link para essa página na sua barra de navegação. Você pode fazer isso da seguinte maneira:
import { Link } from 'react-router-dom';
function Navbar() {
return (
<nav>
<ul>
<li><Link to="/contato">Contato</Link></li>
</ul>
</nav>
);
}
Note que o to
é passado como propriedade para o componente Link
, com o valor da rota que você quer acessar. Esse link será renderizado como um elemento a
, mas ao invés de causar um refresh na página, ele irá navegar para a rota especificada utilizando o history
da aplicação.
Outra opção é utilizar o componente NavLink
. Esse componente é similar ao Link
, mas possui algumas propriedades adicionais para estilização e indicação de rotas ativas. Por exemplo, imagine que você quer destacar a página atual na sua barra de navegação. Você pode fazer isso da seguinte maneira:
import { NavLink } from 'react-router-dom';
function Navbar() {
return (
<nav>
<ul>
<li><NavLink to="/" exact>Home</NavLink></li>
<li><NavLink to="/sobre">Sobre</NavLink></li>
<li><NavLink to="/contato">Contato</NavLink></li>
</ul>
</nav>
);
}
Note que no exemplo acima, adicionamos a propriedade exact
para o link da página inicial. Isso faz com que o NavLink
só seja considerado ativo se a rota for exatamente a raiz (/
). Além disso, o NavLink
adiciona uma classe active
automaticamente quando a rota correspondente está ativa, o que permite a estilização do link de forma diferenciada.
Essas são apenas algumas das opções disponíveis para fazer a navegação sem refresh na página. É importante lembrar que cada situação pode requerer uma solução diferente e que é sempre bom consultar a documentação da biblioteca e experimentar diferentes abordagens.
Espero que tenha te ajudado.
Um abraço e bons estudos.