在 react-router 中传递 props 时,是不是将 ...rest 中的属性传递给 routeProps?

Posted

技术标签:

【中文标题】在 react-router 中传递 props 时,是不是将 ...rest 中的属性传递给 routeProps?【英文标题】:Are the properties in ...rest being passed down to routeProps when passing props in react-router?在 react-router 中传递 props 时,是否将 ...rest 中的属性传递给 routeProps? 【发布时间】:2020-05-31 00:29:00 【问题描述】:

我正在浏览这个传递我们自己在 React Router 网站上的 props 的例子:

https://reacttraining.com/react-router/core/api/Route/render-func

function FadingRoute( component: Component, ...rest ) 
  return (
    <Route
      ...rest
      render=routeProps => (
        <FadeIn>
          <Component ...routeProps />
        </FadeIn>
      )
    />
  );

问:为了将 ...rest 对象传递给 routeProps,是否要传递 ...rest?

谢谢。 A.

【问题讨论】:

【参考方案1】:

很遗憾,rest 不会传递给 routeProps,因此您需要在传递给 Component 时自行合并它们:

<Component ...routeProps ...rest />

:)

【讨论】:

您能否进一步解释一下。 中使用它 这里rest是用来做一件事的,就是将props向下传递给Route组件,这样就可以判断你是否可以访问某个路由。如果在您的情况下您需要将它们传递给Component,那么就这样做,就像我之前展示的那样,你会没事的:)

以上是关于在 react-router 中传递 props 时,是不是将 ...rest 中的属性传递给 routeProps?的主要内容,如果未能解决你的问题,请参考以下文章

使用 react-router v4 将 props 传递给子组件

javascript 使用react-router将Props传递给组件

通过 React-Router v4 <Link /> 传递值

React-Router 介绍及使用

反应路由器和 this.props.children - 如何将状态传递给 this.props.children

如何在 react-router v1.0.0 中填充 this.props.params?