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

162
Views
¿Hay alguna forma de pasar un componente importado a través de una función?

Estoy usando una biblioteca llamada SlidingPane, y cada panel tiene exactamente los mismos estilos, solo contenido diferente según la página. Así que quiero ponerlo en una página separada y obtener el contenido a través de un argumento:

 export default function CustomSlidingPane(content){ <SlidingPane className="slidingPanel" isOpen={state.isPaneOpen} onRequestClose={() => { setState({ isPaneOpen: false }); }} > <Container> {content} </Container> </SlidingPane> }

Todo el contenido está en páginas .js separadas que se ven así:

 export default function One() { return ( <h1>Hello</h1> ); }

Entonces, lo que estoy tratando de hacer es pasar una de las funciones de contenido a CustomSlidingPane de esta manera:

 import One from './One'; import CustomSlidingPane from './CustomSlidingPane'; export default function Main(){ <Container> <CustomSlidingPane content={<One/>}> </Container> }

Todo lo que he intentado siempre termina en un contenido indefinido. ¿Hay alguna forma adecuada de hacer esto/es esto posible?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Unas pocas cosas:

  1. Parece que podría haber olvidado una return en CustomSlidingPane
  2. Necesitas desestructurar el content de los accesorios.

Prueba esto

 export default function CustomSlidingPane({content}){ return ( <SlidingPane className="slidingPanel" isOpen={state.isPaneOpen} onRequestClose={() => { setState({ isPaneOpen: false }); }} > <Container> {content} </Container> </SlidingPane> ) }

Además, este patrón podría complementarse mejor con el accesorio para children .

about 4 years ago · Juan Pablo Isaza Report

0

Necesitará usar accesorios para niños aquí. Estoy agregando un ejemplo con un elemento div simple.

 export default function CustomSlidingPane(props) { return <div>{props.children}</div>; }

El contenido será el mismo que definiste en tu ejemplo:

 export default function One() { return <h1>Hello</h1>; }

Así es como puede pasar el contenido a su componente slidePlane:

 export default function Main() { return ( <div> <CustomSlidingPane> <One /> </CustomSlidingPane> </div> ); }
about 4 years ago · Juan Pablo Isaza 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!