React Router - this.history.push更改URL但不显示组件

时间:2018-04-18 15:19:20

标签: reactjs react-router history

我有一台路由器

<Router history={history}>
  <div>
    <Route exact path='/' component={App} />
    <Route exact path='/' component={UserForm} history={history} />
    <Route exact path='/test' component={Test} />
  </div>
</Router> 

所以,当我触发 this.props.history.push('/ test'); 时,我希望看到我的测试组件,但是网址会发生变化,我看到仍然会看到App和UserFrom < strong>直到我在浏览器上点击,然后它的行为符合预期。

我正在调用 this.props.history.push('/ test'); (在UserForm组件上),当URL更改时会调用它。

我看到有人在v4中执行 this.context.history.push('/ test'); ,但我有一个空的上下文

修改

所以我尝试将它包装在路由器()中,因为所有级别的其他答案都没有运气。

export default withRouter(Main);

但是我注意到它是在render()上运行但不在onClick上运行。

getUsers = () => {

}

0 个答案:

没有答案