2016-06-01 8 views
0

Ich habe eine sehr einfache Reaktion Router-Setup, die nicht richtig funktioniert. Wenn ich die URL-Leiste navigiere, aber der Router reagiert, wird die Seite nie aktualisiert. Wenn ich die Seite neu lade, wird die korrekte Route beim ersten Laden gerendert. Wenn ich die Zurück/Vorwärts-Taste drücke, wechselt der Router korrekt zwischen den Routen. Auch wenn Back/Forward mit react router arbeitet, klickt man auf einen Link zu der Seite, die ich mit back/forward erreichen kann tut nichts.React Router funktioniert nur, wenn die Zurück-Taste

Meine Strecken

import { Router, Route, IndexRoute, browserHistory } from 'react-router' 
import AppContainer from './components/react/app_container.jsx' 
import Signup from './components/react/login_and_signup/signup.jsx' 
import SplashPage from './components/react/splash_page/splash_page.jsx' 
export const routes = (
    <Router history={browserHistory}> 
     <Route path="/" component={AppContainer}> 
      <IndexRoute component={SplashPage} /> 
      <Route path="signup" component={Signup} /> 
     </Route> 
    </Router> 
); 

Zu meiner App

import ReactDOM from 'react-dom'; 
import {routes} from '../imports/client/routes' 

ReactDOM.render(routes, document.getElementById('app')); 

Mein AppContainer

import React from 'react'; 

let AppContainer = React.createClass({ 
    componentWillReceiveProps(nextProps){ 
     console.log("next props? ", nextProps); 
    }, 
    render(){ 
     return <div>{this.props.children}</div> 
    } 
}); 

export default AppContainer; 

In meinem Splash-Seite Bootstrap:

<Link to="/signup"> 
    signup 
</Link> 

Hier ist das Verhalten, das ich bekommen:

  1. Seite neu laden an/URL, Splash-Seite geladen
  2. Klicken Sie auf die Registrierung Link, URL Änderungen/Anmeldungen aber Anmeldungen Komponente wird in componentWillReceiveProps nicht gerendert und console.log nicht ist Ausgabe
  3. Reload der Seite, während auf/Anmeldungen und die Anmeldungen Komponente macht richtig
  4. Drücken Sie die Taste zurück und die splash-Seite Komponente macht richtig und die Requisiten ausgegeben werden von componentWillReceiveProps
  5. Vorder- und hinteren b utton arbeitet an dieser Stelle
  6. Klicken Sie auf die Registrierung Link auf Splash-Seite, URL Änderungen/Anmeldungen in Ordnung, aber nichts passiert

Soweit ich sagen kann, ich habe alles richtig konfiguriert aber reagieren Router leise ausfällt, außer auf dem Rücken/Vorwärts-Tasten.

Ich bin auf React 15.0.1 und React Router 2.4.1.

Antwort

1

Das Meteor-Paket Iron Router war in meinem Projekt enthalten und widersprach dem React Router. Entfernen von Iron Router hat das Problem gelöst.