試圖使用browserHistory.push
方法以編程方式更改我的路線。反應路由器browserHistory.push不重定向
它會更改路線(每個瀏覽器地址欄)但不更新視圖。
這裏是我的代碼 App.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修復了所有內容 –
zsayn