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

163
Vistas
Pasar la función de devolución de llamada

Tengo un Modelmenu que está anidado en el componente principal, implementa la función de abrir una ventana modal con un clic. También en este componente principal hay un componente secundario al que debe vincular la función de abrir una ventana modal con un elemento más. Puedo hacer esto si toda la lógica está en el componente principal, pero es una mala práctica, ya que tendré que duplicar el código en cada página de esta manera. ¿Cómo puedo hacer esto? Lo siento, soy bastante nuevo, no puedo entender la devolución de llamada.

Padre:

 const Home: NextPage = () => { const handleCallback = (handleOpen: any) => { } return ( <> <ModalMenu parentCallback={handleCallback}/> <Slider handleCallback={handleCallback}/> </> ) }

Modal:

 export const ModalMenu: FC = (props) => { const [play, setPlay] = useState<boolean>(false) const handleOpen = () => { props.parentCallback(setPlay(!play)) }; const handleClose = () => { setPlay(false) setPlay(!play) }; return }

Niño:

 export const Slider: FC= (props) => { return ( <> <Image nClick={props.handleCallback}/> </>
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Si está buscando pasar valores y/o funciones de un padre a dos o más hijos, creo que es mejor tener solo los valores y funciones en el padre.

Padre:

 const Home: NextPage = () => { const [play, setPlay] = useState<boolean>(false) const handleOpen = () => { setPlay(prev => !prev) }; const handleClose = () => { setPlay(false) setPlay(!play) }; return ( <> <ModalMenu handleOpen={handleOpen} handleClose={handleClose} play={play}/> <MainSlider <ModalMenu handleOpen={handleOpen} handleClose={handleClose} play={play}/> </> ) }

si desea pasar una interfaz a los accesorios en los niños para mecanografiar, su interfaz se verá así

 interface iProps { play : boolean; handleOpen : () => void; handleClose : () => void; }
 export const ModalMenu: FC = (props):iProps => { // you can easily access all you want const {handleClose, handleOpen, play} = props return }
 export const Slider: FC= (props): iProps => { const {handleClose, handleOpen, play} = props return ( <> <Image onClick={handleOpen}/> </>
about 4 years ago · Juan Pablo Isaza 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