React Router v4不使用后退/前进按钮导航到历史页面

时间:2017-06-04 20:09:01

标签: reactjs react-router react-router-v4

我正在使用react-router-dom: v4.1.1,这是我的路由器代码:

var ReactRouter = require('react-router-dom');
var Router = ReactRouter.BrowserRouter;
var Route = ReactRouter.Route;
var Switch = ReactRouter.Switch;
var browserHistory = ReactRouter.BrowserHistory;

  <Router history={browserHistory}>
    <div className='container'>
<Switch>
    <Route exact path='/' render={(props) => <Home
      {...props} // for router history and all that.
      rebase={rebase}
      items={this.state.items}
      user={this.state.currentUser}
      userData={this.state.currentUserData}/>} />
    <Route path='/browse' render={() => <Browse items={_.values(this.state.items)}/>} />
    <Route render={function () {
      return <p>Not Found</p>
    }} />
  </Switch>
</div>
  </Router>

Home组件中,我有一个按钮,当点击该按钮时,会在历史记录中添加一个新网址:this.props.history.push('/?p=' + hash)其中hash就像f9ojy。这个“有用”的意思是窗口中的URL更新为新的哈希值,但是当我点击“后退”或“前进”时,显示的页面没有变化。

1 个答案:

答案 0 :(得分:0)

在Reactiflux不和谐频道找到答案;在componentDidUpdate我可以查看之前的this.props.location.search并将其与当前的 let marker = GMSMarker() marker.position = CLLocationCoordinate2D(latitude: restaurant.latitude, longitude: restaurant.longitude) marker.title = restaurant.name marker.icon = xyz 进行比较。如果它不相同,我有一个根据当前参数重置UI的功能。