Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

368
Vistas
ReactJs: ¿Cuáles deberían ser los PropTypes para this.props.children?

Dado un componente simple que representa a sus hijos:

 class ContainerComponent extends Component { static propTypes = { children: PropTypes.object.isRequired, } render() { return ( <div> {this.props.children} </div> ); } } export default ContainerComponent;

Pregunta: ¿Cuál debería ser el propType de los accesorios para niños?

Cuando lo configuro como un objeto, falla cuando uso el componente con varios niños:

 <ContainerComponent> <div>1</div> <div>2</div> </ContainerComponent>

Advertencia: tipo de prop fallido: children de prop no válidos del tipo array proporcionado a ContainerComponent , object esperado .

Si lo configuro como una matriz, fallará si le doy solo un hijo, es decir:

 <ContainerComponent> <div>1</div> </ContainerComponent>

Advertencia: tipo de prop fallido: hijos de prop no válidos del tipo de objeto proporcionado a ContainerComponent, matriz esperada.

Por favor, avise, ¿no debería molestarme en hacer una verificación de propTypes para elementos secundarios?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Pruebe algo como esto utilizando oneOfType o PropTypes.node

 import PropTypes from 'prop-types' ... static propTypes = { children: PropTypes.oneOfType([ PropTypes.arrayOf(PropTypes.node), PropTypes.node ]).isRequired }

o

 static propTypes = { children: PropTypes.node.isRequired, }
over 4 years ago · Santiago Trujillo Denunciar

0

Para mí depende del componente. Si sabe con qué necesita que se complete, debe intentar especificar tipos exclusivos o múltiples usando:

 PropTypes.oneOfType

Si desea referirse a un componente React, entonces estará buscando

 PropTypes.element

Aunque,

 PropTypes.node

describe cualquier cosa que se pueda representar: cadenas, números, elementos o una variedad de estas cosas. Si esto te conviene, entonces este es el camino.

Con componentes muy genéricos, que pueden tener muchos tipos de hijos, también puedes usar los siguientes. Sin embargo, no lo recomendaría. Como se menciona en los comentarios a continuación, de alguna manera anula el uso de PropTypes y, por lo general, hay otras formas de especificar lo que requiere su componente. También tenga en cuenta que eslint y ts pueden (probablemente) no estar contentos con esta falta de especificidad:

 PropTypes.any
over 4 years ago · Santiago Trujillo Denunciar

0

La documentación de PropTypes tiene lo siguiente

 // Anything that can be rendered: numbers, strings, elements or an array // (or fragment) containing these types. optionalNode: PropTypes.node,

Entonces, puede usar PropTypes.node para buscar objetos o matrices de objetos

 static propTypes = { children: PropTypes.node.isRequired, }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda