Wie benutze ich react-router-redux routeActions?

7

Ich versuche, den Beispielcode von react-router-redux zu ändern. Ссылка

das ist mein Home.js

%Vor%

Ich habe auch eine mapDispatchToProps dafür.

%Vor%

Als ich onSubmit-Funktion anrief, bekam ich einen Fehler

%Vor%

Wenn ich this.props in onSubmit lösche, ändert sich der Schlüssel in der URL, aber er befindet sich immer noch auf derselben Seite. Von localhost:8080/#/?_k=iwio19 bis localhost:8080/#/?_k=ldn1ew

Weiß jemand, wie man es repariert? Schätze es.

    
JAckWang 04.02.2016, 09:14
quelle

5 Antworten

9

Ich glaube nicht, dass routeActions als props übergeben wird. Was Sie tun möchten, ist dies:

%Vor%     
jjordy 04.02.2016, 14:37
quelle
9

Um eine etwas ausführlichere Antwort und die Antwort auf meine eigene Frage im Kommentar zu geben.

Ja, Sie können

tun %Vor%

Wie ich bereits erwähnt habe, überschreibt mapDispatchToProps dies jedoch. Um dies zu beheben, können Sie routeActions wie folgt binden:

%Vor%

Jetzt können Sie tun: this.props.routeActions.push('/foo')

Nur zur Info, das kann sogar noch besser gemacht werden

%Vor%     
Michiel 05.02.2016 15:37
quelle
7

Wie für react-router-redux v4 :

%Vor%

dann:

%Vor%     
Mikhail Khazov 09.09.2016 09:14
quelle
5

Ich habe es geschafft, indem ich das gemacht habe

%Vor%

Dann können Sie Push-via-Requisiten verwenden this.props.push('some/cool/route')

    
Ryan Irilli 06.02.2016 15:51
quelle
1

Genauer gesagt

Für diese Beispiele würde ich die Funktion mapDispatchToProps wie folgt curren:

bindActionDispatchers.js

%Vor%

Foo.js

%Vor%

Ich verpackte dies in ein leichtes npm-Paket bind-action-dispatcher mit Unit-Tests und Plausibilitätsprüfungen. Um diese Version zu verwenden, installieren Sie mit:

npm i -S bind-action-dispatchers

und importieren Sie die Funktion mit:

import bindActionDispatchers from 'bind-action-dispatchers'

    
cchamberlain 28.05.2016 03:11
quelle