Reactjs 如何验证组件组成/";“基础”-组件/呈现的根组件在React中?

Reactjs 如何验证组件组成/";“基础”-组件/呈现的根组件在React中?,reactjs,inheritance,extend,composition,jsx,Reactjs,Inheritance,Extend,Composition,Jsx,众所周知,当我们想在React中“扩展”一个时,我们实际上并不是通过继承来扩展它的类,而是在“派生”组件中使用composition以自定义道具来呈现它,如下所示: class Component extends React.Component { render() { return (<div className={ this.props.special_prop }> I'm a component! </di

众所周知,当我们想在React中“扩展”一个
时,我们实际上并不是通过继承来扩展它的类,而是在“派生”组件中使用composition以自定义
道具来呈现它,如下所示:

class Component extends React.Component {
  render() {
    return (<div className={ this.props.special_prop }>
              I'm a component!
            </div>);
  }
}

class DerivedComponent extends React.Component {
  render() {
    return (<Component special_prop='custom value' />);
  }
}
类组件扩展React.Component{
render(){
返回(
我是一个组件!
);
}
}
类DerivedComponent扩展了React.Component{
render(){
返回();
}
}
因此,这将创建一种新类型的组件
,它仍将呈现常规的
,但使用通过
道具指定的自定义值

我的问题是,是否有某种方法可以验证
实际上将
呈现为其根组件/它是从
中“派生”出来的

我这样问是因为我正在开发一个列表组件,它将呈现列表中多种类型的列表项组件,但即使这些列表项组件是不同的类型,每个组件实际上都将呈现相同的根组件,只是使用不同的
道具进行定制。我想通过
propTypes
或类似的方式强制执行,传递给列表组件的
子组件实际上基于公共根呈现组件

如果React使用了经典继承,那么检查每个列表项实例是否也是该公共组件的实例将是一件小事;但是,我认为React没有API来查询合成的根呈现组件

React中是否有某种方法强制执行子项基于特定的根渲染组件