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

162
Vistas
onClick abrir módulo
//Home.js import React from "react"; function Header() { return ( <div className="header__search"> <ImageSearchIcon onClick = { Upload_img }/> </div> ); } export default Header;
 //Upload_img.js import React, {useState} from "react"; import Modal from '@material-ui/core/Modal'; const Upload_img = (props) => { const [open, setOpen] = React.useState(false); const handleOpen = () => { setOpen(true); }; const handleClose = () => { setOpen(false); }; return ( <div> <Modal open={open} onClose={handleClose} ><h1>hello</h1></Modal> </div> ) } export default Upload_img

Me gustaría usar modal como módulo Pero recibo este tipo de error

Error: llamada de enlace no válida. Los ganchos solo se pueden llamar dentro del cuerpo de un componente de función. Esto podría suceder por una de las siguientes razones:

  1. Es posible que tenga versiones que no coincidan de React y el renderizador (como React DOM)
  2. Podrías estar rompiendo las Reglas de los Hooks
  3. Es posible que tenga más de una copia de React en la misma aplicación
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede haber varias formas de resolver este problema. Creo que la forma más fácil es mover su estado modal en el componente principal (Encabezado).

 //Home.js import React from "react"; function Header() { const [open, setOpen] = React.useState(false); const handleOpen = () => { setOpen(true); }; const handleClose = () => { setOpen(false); }; return ( <div className="header__search"> <ImageSearchIcon onClick={handleOpen}/> <Upload_img open={open} handleOpen={handleOpen} handleClose={handleClose} /> </div> ); } export default Header;

Ahora su componente Upload_img será un componente sin estado y se verá así:

 //Upload_img.js import React from "react"; import Modal from '@material-ui/core/Modal'; const Upload_img = ({open, handleClose, handleOpen}) => { return ( <div> <Modal open={open} onClose={handleClose} ><h1>hello</h1></Modal> </div> ) } export default Upload_img
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