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

258
Views
onClick setState no es una función

En primer lugar, he echado un vistazo a otras respuestas y eso no ayudó.

Tengo un modal que se pasa en un accesorio de función onClose. Cuando se hace clic en el botón cancelar, debe activar la función onClose que básicamente establece el estado showModal en falso. Sin embargo, al hacer clic en el botón aparece un error que indica que onClose no es una función.

He comprobado el tipo de accesorio onClose y está volviendo como un objeto. no sé por qué

Así es como llamo al Modal del padre.

 <Modal onClose={() => this.setState((prevState) => ({ showModal: { ...prevState.showModal, confirmation: false, }, }))}

/>

y así es como se ve el modal.

 const Modal = (onClose) => { return ( <div className="Background" > <div className="Container"> <div className="Title">Title of the modal</div> <div className="Body">Body of the modal</div> <div className="Footer"> <button type="button" onClick={() => onClose()}>Cancel</button> </div> </div> </div> ); };

Este es el error de la consola.

ingrese la descripción de la imagen aquí

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

0

cambiar esta linea

 const Modal = (onClose) => {

a

 const Modal = ({onClose}) => {
about 4 years ago · Juan Pablo Isaza Report

0

 //be sure this is being used in a class component! (not a functional) export YourClassComponent extends React.ClassComponent { constructor(props) { super(props); this.onCloseModal = this.onCloseModal.bind(this); } onCloseModal = () => { this.setState((prevState) => ({ showModal: { ...prevState.showModal, confirmation: false, }})) }; render() { <Modal onClose={this.onCloseModal} /> }; }; // In you Modal.jsx, see the prop is setted directly no need to create a new ref to call it const Modal = ({ onClose }) => { return ( <div className="Background" > <div className="Container"> <div className="Title">Title of the modal</div> <div className="Body">Body of the modal</div> <div className="Footer"> <button type="button" onClick={onClose}>Cancel</button> </div> </div> </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!