2017-02-01 1 views
0

Ich würde gerne wissen, wie React Router mit Iron Router zu verwenden. Der Grund ist, dass ich React und React Router für ein bestehendes Projekt einsetze.Meteor verwenden React Router mit Iron Router

Hier ist, was ich derzeit tue:

  • Render eine Blaze Vorlage Router Eisen mit
  • Template#onRendered verwenden, machen die Vorlage Reagieren App innen.

routes.js

Router.route('/admin/:tab1?/:tab2?/:tab3?/:tab4?', function() { 
    this.layout('admin'); 
}); 

admin.html

<template name="admin"> 
    <div id="admin-wrapper"></div> 
</template> 

admin.js

Template.admin.onRendered(function() { 
    render((
    <Router> 
     ... 
    </Router> 
), this.find('#admin-wrapper')); 
}); 

Das Problem ist jedoch, dass die React-App die Komponenten nicht neu zeichnet, wenn sich die URL ändert. Ich muss die ganze Seite in meinem Browser aktualisieren, um eine aktualisierte Seite zu sehen. Irgendwelche Ideen oder alternative Ansätze?

Antwort

0

Die beiden Router sind inkompatibel, weil sie verschiedene Zustände auf window.history drücken.

Eine Lösung ist, memoryHistory zu verwenden, um Routen in React Router zu konfigurieren. Hören Sie dann window.history.pushState und drücken Sie die neue URL auf memoryHistory.

Verwandte Themen