history.push不重定向

时间:2018-11-24 10:07:11

标签: reactjs react-router-dom

使用react-router v4和BrowserRouter,我正在调用history.push导航到其他路径。不幸的是,浏览器中的URL更改了,但是没有导航。我不确定撰写路线是否是正确的方法,还是我错过了什么?

<Route render={({history}) =>
    <div className="nav" onClick={() => {history.push('/new-route');}}><i 
    className="fa fa-user"/></div>}
/>

1 个答案:

答案 0 :(得分:0)

您可以尝试使用上下文API

const Button = (props, context) => (
  <button
    type='button'
    onClick={() => {
      // context.history.push === history.push
      context.history.push('/new-location')
    }}
  >
    Click Me!
  </button>
)

// you need to specify the context type so that it
// is available within the component
Button.contextTypes = {
  history: React.PropTypes.shape({
    push: React.PropTypes.func.isRequired
  })
}