尝试使用 browserHistory.push
方法以编程方式更改我的路线。
它会改变路线(根据浏览器地址栏)但不会更新 View 。
这是我的代码 应用程序.jsx
const AppStart = React.createClass({
render: function() {
return (
<MuiThemeProvider>
<Router history={hashHistory}>
<Route path="/" component={Main}>
<Route path="experiences" component={Experiences} />
<Route path="people" component={Profiles} />
<Route path="login" component={Login} />
<IndexRoute component={Home}/>
</Route>
</Router>
</MuiThemeProvider>
);
}
});
ReactDOM.render(
<AppStart />,
document.getElementById('app')
);
组件:
handleLoginRedirect(e) {
browserHistory.push('/experiences');
},
render() {
return (
<div className='row'>
<div className='col-sm-10 col-sm-offset-1'>
<form role='form'>
<RaisedButton label="Redirect" onClick={this.handleLoginRedirect} />
</form>
</div>
</div>
);
最佳答案
您的路由器配置使用 hashHistory
当你推到 browserHistory
时.
很容易错过这样的事情,这是可以理解的。
- 替换
hashHistory
与browserHistory
在你的Router
像这样:
<Router history={browserHistory}>
完整片段:
const AppStart = React.createClass({
render: function() {
return (
<MuiThemeProvider>
<Router history={browserHistory}>
<Route path="/" component={Main}>
<Route path="experiences" component={Experiences} />
<Route path="people" component={Profiles} />
<Route path="login" component={Login} />
<IndexRoute component={Home}/>
</Route>
</Router>
</MuiThemeProvider>
);
}
});
关于javascript - React-router browserHistory.push 不重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38908503/