Links
O componente Link permite que você personalize facilmente elementos de âncora com suas cores de tema e estilos de tipografia.
Links simples
O componente Link é construído sobre o componente Typography. Você pode aproveitar suas propriedades.
<Link href="#">Link</Link>
<Link href="#" color="inherit">
{'color="inherit"'}
</Link>
<Link href="#" variant="body2">
{'variant="body2"'}
</Link>Quando você usa target="_blank" com Links, é recomendado sempre definir rel="noopener" ou rel="noreferrer" quando conectando a conteúdo de terceiros.
- A propriedade
color="primary", pelo fato de que o link precisa se destacar. - A propriedade
variant="inherit", já que o link será na maioria das vezes usado como filho de um componente Typography.
Sublinhado
A propriedade underline pode ser usada para definir o comportamento sublinhado. O padrão é hover.
<Link href="#" underline="none">
{'underline="none"'}
</Link>
<Link href="#" underline="hover">
{'underline="hover"'}
</Link>
<Link href="#" underline="always">
{'underline="always"'}
</Link>Segurança
Quando você usa target="_blank" com Links, é recomendado sempre definir rel="noopener" ou rel="noreferrer" quando conectando a conteúdo de terceiros.
rel="noopener"impede que a nova página possa acessar a propriedadewindow.openere garante que ela seja executada em um processo separado. Sem isso, a página de destino pode potencialmente redirecionar sua página para uma URL mal-intencionada.rel="noreferrer"tem o mesmo efeito, mas também impede que o cabeçalho Referer seja enviado para a nova página. ⚠️ A remoção do cabeçalho referrer afetará a análise.
Biblioteca de roteamento de terceiros
One frequent use case is to perform navigation on the client only, without an HTTP round-trip to the server. O componente Link fornece uma propriedade para lidar com este caso: component. Aqui está um guia mais detalhado.
Acessibilidade
(WAI-ARIA: https://www.w3.org/TR/wai-aria-practices/#link)
- Ao fornecer o conteúdo para o link, evite descrições genéricas como "clique aqui" ou "vá para". Em vez disso, use descrições específicas.
- Para a melhor experiência do usuário, os links devem se destacar do texto na página. For instance, you can keep the default
underline="always"behavior. - If a link doesn't have a meaningful href, it should be rendered using a
<button>element.
<Link
component="button"
variant="body2"
onClick={() => {
console.info("I'm a button.");
}}
>
Button Link
</Link>