2016-08-09 97 views
0

Ich habe meine Komponente "Nachrichten" und ich rufe es mit zwei verschiedenen URLs. Wenn ich auf den ersten Link sage "Nachrichten/1" es wird meine Nachrichten Posteingang geladen und ich habe eine andere URL 'Nachrichten/5/1' für Die Komponente ist die gleiche wie für oben URL.Wenn Seite geladen wurde mit 'Nachrichten/1' URL und wenn ich auf ein Feld klickte, die auf 'Nachrichten/5/1' zeigt. Es ändert die URL in der Kopfzeile, aber es ist nicht die Seite neu laden. Ich möchte meine Komponente immer dann neu laden, wenn es eine andere URL gibt, obwohl sie die gleiche Komponente haben. Gibt es eine Möglichkeit, dies zu tun.können wir dieselbe Komponente mit verschiedenen URLs erneut laden?

+0

können Sie Ihren Code teilen? Wenn sich Requisiten ändern, wird die Komponente – Deadfish

Antwort

0

Sie können die gleiche Komponente unter verschiedenen URLs laden und es sollte alles gut laden. Ändern Sie einfach den Pfad Prop und fügen Sie die gleiche Komponente, die Sie wollen, unter der Komponente prop.

render((
    <Router> 
    <Route path="/" component={App}> 
     <Route path="about" component={About} /> 
     <Route path="inbox" component={Message}> 
     <Route path="messages/:id" component={Message} /> 
     </Route> 
    </Route> 
    </Router> 
), document.body) 

edit: Sie können rect-Router-Refresh-Methode

von https://github.com/reactjs/react-router/blob/v0.13.3/modules/createRouter.js#L435-L437 versuchen und verwenden

refresh: function() { 
     Router.dispatch(location.getCurrentPath(), null); 
     }, 
+0

erneut gerendert, da die Seite nicht neu geladen wird. Das kann ich in der Registerkarte Netzwerk sehen. –

+0

reagieren hat eine Refresh-Methode versuchen, dass, ich habe die Antwort bearbeitet –

+0

Wo sollten wir diese Methode anrufen? –