Url ändern, wenn die Komponente mit react-router-dom gerendert wird?

8

Gibt es einen Weg im Reagier-Router, dass, wenn einige Komponenten rendern, die URL sich entsprechend ändert.

Eine Möglichkeit, die ich kenne, ist window.history.pushState('', '', '/componentUrl'); in render function der Komponente

zu platzieren

Gibt es einen besseren Weg, dies in route anders als path reps in Route zu erreichen, weil path= 'someurl' bedeutet, wenn auf someurl zugegriffen wird someComponent sollte rendern

Aber andersherum, wenn someComponent rendert, sollten URLs in someurl geändert werden. Ich nehme dieses Szenario im Zusammenhang mit dem bedingten Rendering in component .

    
ashwintastic 16.08.2017, 07:52
quelle

1 Antwort

1

Das Wichtigste, was Sie wissen müssen, wenn Sie einen reaktiven Router verwenden, ist:

  

Das Attribut Pfad definiert die Routen-URL und das Attribut Komponente   definiert die Komponente für diese Route.

Ich würde vorschlagen, dass Sie dies durchlesen. Best Practice schlägt vor, genau wie Matt Derrick in den Kommentaren vorgeschlagen hat, dass die URL das Rendering von Komponenten steuern sollte.

Da Sie eine Komponente und eine Komponente haben, die basierend auf dem von Ihnen vorgeschlagenen Status rendern, haben Sie zwei verschiedene URLs, die Sie unterstützen. Wenn sich der Status also zu === 'a' ändert, springen Sie nach / aURL, wenn sich der Status zu === 'b' ändert, dann springen Sie zu / bURL.

Hoffe das beantwortet Ihre Frage.

    
Dragomir Kolev 21.08.2017 08:29
quelle

Tags und Links