Reactjs 如何验证组件组成/";“基础”-组件/呈现的根组件在React中?
众所周知,当我们想在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
时,我们实际上并不是通过继承来扩展它的类,而是在“派生”组件中使用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中是否有某种方法强制执行子项基于特定的根渲染组件