react-router: Wie kann ich einen Link deaktivieren, wenn er aktiv ist?

10

Wie kann ich ein <Link> im react-router deaktivieren, wenn seine URL bereits aktiv ist? Z.B. Wenn sich meine URL bei einem Klick auf <Link> nicht ändern würde, möchte ich das Klicken überhaupt verhindern oder <span> statt <Link> darstellen.

Die einzige Lösung, die mir in den Sinn kommt, ist die Verwendung von activeClassName (oder activeStyle ) und die Einstellung von pointer-events: none; , aber ich würde lieber eine Lösung verwenden, die in IE9 und IE10 funktioniert.

    
Pipo 12.03.2016, 20:43
quelle

3 Antworten

6

Ich werde nicht fragen, warum Sie dieses Verhalten wollen, aber ich denke, Sie können <Link /> in Ihre eigene benutzerdefinierte Link-Komponente einfügen.

<MyLink to="/foo/bar" linktext="Maybe a link maybe a span" route={this.props.route} />

%Vor%

(ES6, aber Sie erhalten wahrscheinlich die allgemeine Idee ...)

    
dannyjolie 12.03.2016, 21:10
quelle
1

Ich denke, Sie sollten auf null setzen , um einen Link zu deaktivieren.

Siehe hier ein Beispiel Ссылка

    
Nguyên Cát Phạm 22.06.2017 20:54
quelle
0

Eine andere Möglichkeit besteht darin, das Klick-Ereignis zu deaktivieren, wenn Sie bereits auf den gleichen Pfad klicken. Hier ist eine Lösung, die mit react-router v4 funktioniert.

%Vor%

Du kannst dann deinen Link als (jede zusätzliche Requisite von Link würde funktionieren) verwenden:

%Vor%     
nbeuchat 28.01.2018 02:27
quelle