Reagieren Redux und Reagieren-Router-Dom

8

Ich lerne Redux, und mit den neuen Änderungen in react-router-dom bin ich etwas verwirrt. Ich habe diese Dateien:

Index.js

%Vor%

App.js

%Vor%

Endlich, Main.js

%Vor%

Dieser Code funktioniert gut, wenn ich zu localhost gehe: 3000 / list oder wenn ich auf einen klicke, funktioniert es.

Allerdings habe ich das Gefühl, dass ich etwas falsch mache und dass der richtige Weg darin besteht, in das Innere von index.js

einzudringen

Ich sollte so etwas tun:

%Vor%

document.getElementById ('root'),

Und dann in Main.js

%Vor%

Aber wenn ich das tue, wenn ich direkt zum Link localhost / list gehe, kann ich die Komponente sehen, aber wenn ich auf irgendeinen Link klicke, passiert nichts.

Ich bin verwirrt, wie man den Router mit redux richtig benutzt. Dies ist der Code, den ich in reducers / index.js verwende

%Vor%

Ich habe diese Seite und viele Tutorials online und auf youtube recherchiert, aber ich verstehe nicht, ob ich in meinem Code richtig vorginge, ich weiß, dass es funktioniert, aber ich bin daran interessiert zu lernen, ob dies der richtige Weg ist. Danke!

    
Kaiser Soze 06.05.2017, 12:46
quelle

1 Antwort

3

Ja, Sie schreiben den Router korrekt. Ihre Sorge ist verständlich. Bis zur Version 4.0.0 hatte react-router eine andere Möglichkeit, Routen zu deklarieren. Sie würden einen Router wie in Ihrem zweiten Beispiel definieren, aber anstatt Routen in den Komponenten zu definieren, würden Sie Routen innerhalb des Routers definieren. Hier ist ein Beispiel für react-router vor 4.0.0:

App.js:

%Vor%

router.js:

%Vor%

Sie würden den Router und alle Routen, Unterrouten und Komponenten, die an einem Ort verwendet werden, definieren, und Sie würden das schließlich an ReactDOM.render()

liefern

Nachdem dies gesagt wurde, ist der erste Weg, die Dinge zu tun, korrekt und ist die Art, wie die Leute hinter React Router erwarten, dass Leute die Schnittstelle benutzen.

In Bezug auf die letzte Frage, erhalten Sie einen Fehler mit diesem Code mit react-router-redux ? Wenn Sie dies als Referenz betrachten, scheint es korrekt zu sein.

    
Sammy I. 06.05.2017, 13:26
quelle