¿Cómo validar la composición del componente / componente "base" / componente raíz procesado en React?

Es de conocimiento común que cuando queremos "extender" un<Component> en React, en realidad no ampliamos su clase a través de la herencia, sino que utilizamos la composición para renderizarla con un código personalizadoprops dentro de nuestro componente "derivado", así:

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' />);
  }
}

Entonces esto creará un nuevo tipo de componente<DerivedComponent>, que aún representará un<Component>, pero con valores personalizados especificados a través deprops.

Mi pregunta es, ¿hay alguna forma de validar eso?<DerivedComponent> en realidad representa un<Component> como su componente raíz / que se "deriva" en ese sentido de<Component>?

Lo pregunto porque estoy desarrollando un componente de listado que representará componentes de elementos de lista de numerosos tipos en una lista, pero aunque estos componentes de elementos de lista serán de diferentes tipos, cada uno representará el mismo componente raíz, solo personalizado con diferenteprops. Me gustaría hacer cumplir, a través depropTypes o similar, que elchildren pasados al componente de listado se basan realmente en ese componente común renderizado por raíz.

Si React hubiera utilizado la herencia clásica, sería una cuestión trivial verificar si cada instancia de elemento de lista también era una instancia de ese componente común; Sin embargo, no creo que React tenga la API para consultar el componente renderizado de raíz de una composición.

¿Hay alguna manera en React para hacer cumplir que elchildren se basan en un componente específico renderizado por raíz?

Respuestas a la pregunta(0)

Su respuesta a la pregunta