Ich verwende React-Router-Dom 4.0.0-Beta.6 in meinem Projekt. Ich habe einen Code wie folgt:
<Route exact path="/home" component={HomePage}/>
Und ich möchte Abfrageparameter in der HomePage
Komponente erhalten. Ich habe location.search
param gefunden , der so aussieht : ?key=value
, also ist es nicht analysiert.
Was ist der richtige Weg, um Abfrageparameter mit React-Router v4 abzurufen?
Die gegebene Antwort ist solide.
Wenn Sie die verwenden möchten qs Modul statt Abfrage-String (sie sind ungefähr gleich in der Popularität), hier ist die Syntax:
Die Option ignoreQueryPrefix besteht darin, das führende Fragezeichen zu ignorieren.
quelle
Die akzeptierte Antwort funktioniert gut, aber wenn Sie kein zusätzliches Paket installieren möchten, können Sie Folgendes verwenden:
Gegeben
http://www.google.co.in/?key=value
wird zurückkehren
value
quelle
Ein weiterer nützlicher Ansatz könnte darin bestehen, das Out-of-the-Box-Verfahren
URLSearchParams
wie folgt zu verwenden.Sauber, lesbar und benötigt kein Modul. Weitere Infos unten;
quelle
Ich habe über Parameter für React Router v4 recherchiert und sie haben sie nicht für v4 verwendet, nicht wie React Router v2 / 3. Ich werde eine andere Funktion verlassen - vielleicht findet es jemand hilfreich. Sie benötigen nur es6 oder einfaches Javascript.
Auch diese Funktion kann verbessert werden
quelle
Eh?
quelle
Ich habe dies gerade gemacht, damit Sie nicht die gesamte Codestruktur ändern müssen (wenn Sie eine Abfrage aus dem Redux-Router-Speicher verwenden), wenn Sie ein Update durchführen, um Router v4 oder höher von einer niedrigeren Version zu reagieren.
https://github.com/saltas888/react-router-query-middleware
quelle
Ohne Paket:
Dann können Sie die zugehörigen Parameter mit erreichen
params.id
quelle
this.props.match.params
enthält Pfadparameter, diese Frage bezieht sich auf Abfrageparameter.