2016-06-01 62 views
0

我有一个非常简单的响应路由器设置,它无法正常工作。当我导航URL栏更改但反应路由器从不更新页面。如果我重新加载页面,则正确的路径会在初始加载时呈现。如果我按下后退/前进按钮,则反应路由器在路线之间正确导航。即使后退/前进正在与反应路由器一起点击页面的链接时,我可以通过后退/前进仍然无所作为。React路由器仅在按下后退按钮时才起作用

我的路线

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> 
); 

为了引导我的应用程序

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

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

我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; 

在我的初始页面:

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

这里是行为我得到:在/ URL

  1. 刷新页面,飞溅页面加载
  2. 点击注册链接,URL变为/注册,但注册组件没有渲染和执行console.log在componentWillReceiveProps不输出
  3. 重新加载该页面而上/注册和在注册部件正确呈现
  4. 按下后退按钮和飞溅页组件正确呈现和道具是从componentWillReceiveProps输出
  5. 正向和背部b utton工作正常,在这一点上初始页面上
  6. 点击注册链接,URL变为/注册但没有任何反应

至于我可以告诉我的一切配置正确,但反应路由器除了在后面默默地失败/前进按钮。

我在使用React 15.0.1和React Router 2.4.1。

回答

1

流星包铁路路由器被列入我的项目,并与React路由器冲突。删除Iron Router解决了这个问题。