Reactjs 动态合成反应器

Reactjs 动态合成反应器,reactjs,Reactjs,是否有一种动态组件的组合方式?例如,假设我有一个ListItems组件,该组件在行中显示其子项。但我想重复使用它的一些行为,我想这样做: <ListItems rowComponent="CarsItem" headerComponent="CarsHeader"/> 或 我怎样才能实现这样的抽象 像那样的事情是行不通的 render:function(){ return ( <this.props.header/> <this.pro

是否有一种动态组件的组合方式?例如,假设我有一个
ListItems
组件,该组件在行中显示其子项。但我想重复使用它的一些行为,我想这样做:

<ListItems rowComponent="CarsItem" headerComponent="CarsHeader"/>


我怎样才能实现这样的抽象

像那样的事情是行不通的

    render:function(){
      return (
<this.props.header/>
<this.props.body/>

    )
    }
render:function(){
返回(
)
}

如果可以确保先声明用于子类的类,则可以执行以下操作:


然后在渲染方法中:

render(){
var Row=this.props.rowComponent;
返回(
{this.props.items.map(函数(项)){
返回;
})}
)
}

希望这有帮助

您的示例本身已经是一个可接受的解决方案。只要用实际的组件类替换字符串,就可以了,也就是说,
我同意Eelke,那么唯一的障碍就是如何加载模块。渲染效果如何?另外值得一提的是,在
var行
中,变量名的首字母必须大写。在文档中提到:,“React的JSX使用大写与小写约定来区分本地组件类和HTML标记”我知道。我的意思是,这可能对不知道这一点的OP有所帮助,并且可能会给不符合约定的变量指定任意名称。文档引用是作为一种添加,如果不清楚,很抱歉:)
    render:function(){
      return (
<this.props.header/>
<this.props.body/>

    )
    }