redux如何使用react-router重定向componentWillMount

Kri*_* MP 2 javascript reactjs react-router redux

如何使用react-router重定向componentWillMount

export class NewStock extends React.Component {
  constructor(props, context) {
    super(props, context);
  }

  componentWillMount() {
    const { session, dispatch, router } = this.props
    if (session.userSessionData.get('logged_in') == false) {
      router.transitionTo('/login')
    }
  };
Run Code Online (Sandbox Code Playgroud)

这段代码:

router.transitionTo('/login')
Run Code Online (Sandbox Code Playgroud)

只返回:

Uncaught TypeError: router.transitionTo is not a function
Run Code Online (Sandbox Code Playgroud)

Dom*_*nic 11

试试this.props.history:

const { history } = this.props
history.pushState(null, '/login') or
history.replaceState(null, '/login')
Run Code Online (Sandbox Code Playgroud)

如果您的模块不是路由器的直接后代,您仍然可以通过将组件包装在withRouter(YourComponent)HOC中来访问此prop (在v4中).