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

575
Views
Reaccionar: reemplaza el componente secundario en props.children

Como se ve en otra pregunta , es posible recorrer los elementos secundarios usando React.Children. mapa Estoy buscando una forma de recorrer recursivamente el árbol secundario ( props.children.props.children... ) y sustituir ciertos elementos con otro tipo de elemento . Ocurriría en la función de renderizado de un componente de orden superior.

¡Cualquier ayuda e ideas son muy apreciadas!

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Puede crear un componente contenedor recursivo que reemplace cualquier elemento secundario que tenga y envuelva a sus elementos secundarios de la misma manera. El reemplazo continuará recursivamente hasta que los elementos secundarios no tengan más elementos secundarios.

Aquí hay un ejemplo de tal componente. Sustituye elementos <p> por elementos <span> .

 const RecursiveWrapper = props => { const wrappedChildren = React.Children.map( props.children, child => { const type = child.type === 'p' ? 'span' : child.type if (child.props && child.props.children) { return React.cloneElement( { ...child, type // substitute original type }, { ...child.props, // Wrap grandchildren too children: ( <RecursiveWrapper> {child.props.children} </RecursiveWrapper> ) } ) } return child } ) return ( <React.Fragment> {wrappedChildren} </React.Fragment> ) }

También puede usar la misma idea general para inyectar accesorios adicionales.

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!