Reactjs 按路线改变反应

Reactjs 按路线改变反应,reactjs,react-router,react-router-dom,Reactjs,React Router,React Router Dom,我正在尝试在更改路由时渲染标头组件。 我尝试在交换机上使用onChange和onValueChange,但都没有被调用。 是否有一种方法可以在路由更改时调用函数 <Switch> <Route path="/posts/new" component={PostsNew}/> <Route path="/posts/:id" component={PostsShow}/> <Route exact path="/" component={Pos

我正在尝试在更改路由时渲染标头组件。 我尝试在交换机上使用onChange和onValueChange,但都没有被调用。 是否有一种方法可以在路由更改时调用函数

<Switch>
  <Route path="/posts/new" component={PostsNew}/>
  <Route path="/posts/:id" component={PostsShow}/>
  <Route exact path="/" component={PostsIndex}/>
</Switch>

在翻阅React Router文档()之后,我找到了一个解决方案

要在路由更改时更新标头组件,我只需使用路由器导入即可:

import {withRouter} from 'react-router-dom';
export default withRouter((connect(null, mapStateToProps)(Header)));
并使用withRouter导出类:

import {withRouter} from 'react-router-dom';
export default withRouter((connect(null, mapStateToProps)(Header)));

添加处理程序以侦听路由器,然后创建存储以保存上次状态,并在发生自定义事件时发送自定义事件,这可能在旧版本的react router中工作。我用的是3.10.10