简体   繁体   中英

SetState not updating the value in react js functional component

in a functional component i need to show the message to user that email is being sent
i am changing the html element text by set state

here is the code

const [visibility, setVisibility] = useState("hidden");
const [MessageText, setMessageText] = useState("");



 function sendEmail()
    {
    setVisibility('visible');
    setMessageText("Sending email to the recipients.Please wait...");
     functionToSendEmail();
    }


    <label className="cs-label" id="lblMessage" 
style={{ color: '#800000', fontWeight: 'bold', visibility: visibility }}> {MessageText} </label>

here message is not showing in the label element but if instead of setMessageText if i use

document.getElementById('lblMessage').innerHTML = "Email sent to the recipients successfully";

then its working fine showing message to user

On this code you posted, you're not calling sendEmail() function anywhere. You may call it, then it will call setMessageText().

Try something like this:

<button onClick={() => sendEmail()}>Send email</button>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM