对本机有新反应...
我试图遍历我的this.props.children以便将字符串传递给我在其父级中定义的字符串...在没有在render方法中定义这些子级的情况下,这可能吗?
<OwnRenderer passMe = "string...">
<OwnText/>
</OwnRenderer>
OwnRenderer应该将prop-string传递给它的所有子代... OwnRenderer不知道他要渲染哪个孩子,因此不可能直接通过“” ...传递道具。
我试图遍历所有孩子直接传递该字符串,但可惜这没有用。
this.props.children.map((x) => x.passed = this.props.passMe);
以某种方式并没有改变状态……你们将如何以一种简单易懂的方式来做到这一点?
答案 0 :(得分:1)
使用React顶级api:React.cloneElement
定义
interface Props {
ChildName: React.ReactElement,
}
{React.cloneElement(ChildName, {
propsName: {
propsAttr: value,
propsAttr2: value,
}
})}
用法
<ParentComponent
ChildName={
<YourChildComponent />
}
/>