【发布时间】:2019-10-16 22:38:35
【问题描述】:
我一直在尝试将一些道具从我的 HOC 传递给孩子们。 HOC 包装反应路由器开关和路由。子组件中缺少道具。我使用 React.CloneElement 为孩子添加道具,但似乎不起作用
<BrowserRouter>
<Layout>
<React.Suspense fallback={loading()}>
<Switch>
<Route exact path="/" component={Login} />
<Route path="/dashboard" component={Home} />
<Route path="/tickets" component={Tickets} />
</Switch>
</React.Suspense>
</Layout>
</BrowserRouter>
这是 HOC(布局)
class Layout extends React.Component {
.....
render() {
const children = this.props.children && React.cloneElement(this.props.children, { data: 'ok' })
...
子组件没有得到 data 道具,我得到了这个
{history: {…}, location: {…}, match: {…}, staticContext: undefined}
【问题讨论】:
标签: javascript reactjs react-router react-router-dom