Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

165
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda