252 votes

Comment se débarrasser du soulignement pour le composant Link de React Router ?

J'ai les éléments suivants :

enter image description here

Comment se débarrasser du soulignement bleu ? Le code est ci-dessous :

<Link to="first"><MenuItem style={{paddingLeft: 13, textDecoration: 'none'}}> Team 1 </MenuItem></Link>

Le composant MenuItem est issu de http://www.material-ui.com/#/components/menu

14 votes

Mettre textDecoration: 'none' sur le <Link /> et non ses enfants.

0voto

Le a-link standard et le react-link sont les mêmes.

donc si vous donnez un style à a-link, il donnera automatiquement un style à react-link.

a{ le style que vous voulez }

0voto

Juste

<Link
   to={`$path`}
   style={{ borderBottom: "none" }}> 
    .... 
</Link>

0voto

Je trouve que cette question et aucune des réponses ne résolvent vraiment le problème dans un cas général (par exemple, si les éléments ne sont pas un MenuItem). Je suggère :

import {useHistory} from "react-router-dom";
const MyComp = () => {
  const history = useHistory();
  return <div>
    <AnyComponent onclick={()=>history.push('/path/u/want')}
  </div>
}

-1voto

Pour moi, il n'était pas envisageable d'utiliser les composants graphiques de React Router. Je préfère naviguer de manière programmatique à l'aide de React Router .

React Router v5.1.0 avec crochets

Il y a un nouveau useHistory hook dans React Router >5.1.0 si vous utilisez React >16.8.0 et des composants fonctionnels.

import { useHistory } from "react-router-dom";

function HomeButton() {
  const history = useHistory();

  function handleClick() {
    history.push("/home");
  }

  return (
    <button type="button" onClick={handleClick}>
      Go home
    </button>
  );
}

1 votes

Je ne suis pas fan de cette méthode, car elle empêche l'utilisateur d'ouvrir un lien dans un nouvel onglet.

-2voto

ZedanSaheer Points 24

Il suffit de l'ajouter à votre fichier css ou à vos styles pour supprimer tout lien provoquant un soulignement !

a:-webkit-any-link{text-decoration: none;}

1 votes

Veuillez noter que cette règle est uniquement destinée aux navigateurs WebKit. Voici le texte de la règle page de documentation .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X