React Router v4重定向传递状态未定义

时间:2019-03-02 02:03:59

标签: reactjs react-redux react-router

我有一个专用的Route / something,我希望只有登录才能访问它。我正在使用带有状态的重定向,但是在目标位置。状态未定义。

这是重定向:

<Redirect
      to={{
        pathname: "/login",
        state: { referrer: props.location }
      }}
    />

在目标位置,我试图访问它,但状态未定义。

this.props.location.state is undefined and I can't get referrer

我正在关注this example。可能是错误吗?

1 个答案:

答案 0 :(得分:0)

没有,这不是错误。实际上,当您从页面A重定向到页面B 时,通过以下方式,您肯定会获得this.props.location.state

<Redirect to={{pathname: "/b", state: { referrer: currentLocation }}} />

除此之外(直接打开页面A或来自页面B之外的其他页面),您将获得状态undefined。因为在这种情况下,您没有将道具state传递到A页。