Reactjs 获取React.Fragment的子对象
我在我的组件中返回Reactjs 获取React.Fragment的子对象,reactjs,Reactjs,我在我的组件中返回React.Fragment: render() { return ( <Fragment> <MyFirstElement/> <MySecondElement/> </Fragment> render(){ 返回( 现在我想处理父组件中的所有子组件。 我可以通过this.props.children获得片段组件本身 我的问题 但是如何获取片段组件的子组件,以便我也可以处理片段的子
React.Fragment
:
render() {
return (
<Fragment>
<MyFirstElement/>
<MySecondElement/>
</Fragment>
render(){
返回(
现在我想处理父组件中的所有子组件。
我可以通过
this.props.children
获得片段组件本身
我的问题
但是如何获取
片段
组件的子组件,以便我也可以处理片段
的子组件?如果要“编辑”传递给组件的子组件,最好的选择是创建一个自定义组件,您可以在其中完全控制子组件
由于组件仅返回其子级,因此其行为类似于片段
用一个小例子来说明这一点”
返回包含2个
组件的
组件需要一个testProp
值,但
不提供该值
中,我们通过我们的孩子映射()
,添加
类父级扩展React.Component{
render(){
返回(
);
}
}
类子级扩展React.Component{
render(){
return{'Deep}${this.props.testProp}}
}
}
类CustomFragment扩展React.Component{
render(){
//给孩子
返回此.props.children.map((child)=>{
//如果需要,请更换孩子
//例如,让我们添加一个testProp
child.props['testProp']=Math.floor(Math.random()*10)+1
//返回
返回儿童;
});
}
}
ReactDOM.render(,document.body);
this.props.children
是传递到此组件的子组件,而不是它返回的子组件。感谢您的提示。我已更改了我的问题。我希望现在它更有意义。请详细说明问题。“我返回片段。”“你做得对吗?你希望‘返回’到哪里?请给我们看一个。@MatthiasM谢谢你的澄清!问题现在清楚多了!这很有帮助。我错过的一点是,我不必使用Fragment,而是创建我自己的Fragment组件。只是一个建议,React建议使用。”(或其他React.Children
实用程序)与Children
,因为Children
是不透明的数据结构。