Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

523
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!