将url参数传递给私有路由_ react Router

时间:2019-04-21 10:28:44

标签: reactjs react-router

在路由器中,我们可以使用{this.props.match.params.id}来匹配有关我们要映射的某些对象的详细信息。

<Route path="/userDetail/:id" exact component={UserDetail} />

在该组件中,我们可以访问:id

但是在自定义路线中,我们如何实现这一目标?我在 this.props.computedMatch.params.id

中找到了:id

但我想将其传递给this.props.match

let PrivateRoute = ({ component: ChildComponent, isLogin, ...rest}) => {
      return <Route render={props => {
        if (!this.props.get.isLogin) {
            return <Redirect to="/login" />;
        } else {
          return <ChildComponent {...props} />
        }
      }} />

<Switch>
     <PrivateRoute path="/userDetail/:id"  exact component={UserDetail} />

</Switch>

1 个答案:

答案 0 :(得分:1)

您还需要包括传递给路线的其余道具:

<ChildComponent {...props} {...rest} />