如何将数据传递给props.children?

时间:2020-02-12 08:24:05

标签: javascript reactjs react-native

对本机有新反应...

我试图遍历我的this.props.children以便将字符串传递给我在其父级中定义的字符串...在没有在render方法中定义这些子级的情况下,这可能吗?

<OwnRenderer passMe = "string...">
    <OwnText/>
</OwnRenderer>

OwnRenderer应该将prop-string传递给它的所有子代... OwnRenderer不知道他要渲染哪个孩子,因此不可能直接通过“” ...传递道具。

我试图遍历所有孩子直接传递该字符串,但可惜这没有用。

this.props.children.map((x) => x.passed = this.props.passMe);

以某种方式并没有改变状态……你们将如何以一种简单易懂的方式来做到这一点?

1 个答案:

答案 0 :(得分:1)

使用React顶级api:React.cloneElement

定义

interface Props {
  ChildName: React.ReactElement,
}

{React.cloneElement(ChildName, {
  propsName: {
    propsAttr: value,
    propsAttr2: value,
  }
})}

用法

<ParentComponent
  ChildName={
    <YourChildComponent />
  }
/>