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
- 刷新页面,飞溅页面加载
- 点击注册链接,URL变为/注册,但注册组件没有渲染和执行console.log在componentWillReceiveProps不输出
- 重新加载该页面而上/注册和在注册部件正确呈现
- 按下后退按钮和飞溅页组件正确呈现和道具是从componentWillReceiveProps输出
- 正向和背部b utton工作正常,在这一点上初始页面上
- 点击注册链接,URL变为/注册但没有任何反应
至于我可以告诉我的一切配置正确,但反应路由器除了在后面默默地失败/前进按钮。
我在使用React 15.0.1和React Router 2.4.1。