通过高阶分量传递属性

时间:2019-08-28 13:40:04

标签: reactjs functional-programming gatsby higher-order-components

我对如何将位置对象传递给子函数感到困惑。它从不手动传递,而似乎是自动传递。

这也许是到达路由器的增强功能吗?

我正在使用盖茨比。

高阶组件:

const PrivateRoute = ({ component: Component, location, ...rest }) => {
  return (
    <div>
      <h5>{location.pathname}</h5>
      <Component {...rest} />
    </div>
  )
}

使用位置:

  <Layout>
    <Router>
      <PrivateRoute path="/app/authorize" component={authContent} />
    </Router>
  </Layout>
)

子组件:

const authContent = ({ ...rest }) => (
  <div>
    <h1> {rest.name}</h1>
    <h1>Hello World</h1>
  </div>
)

1 个答案:

答案 0 :(得分:2)

实际上有道具传递到路线的子组件中:

启用路由的历史记录。

匹配访问URL参数

访问当前位置的位置和位置。

HOC只是将这些添加到其渲染功能中作为附加道具。

希望有帮助。快乐的编码。