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

138
Views
React State not updating during useEffect

I am trying to create a loading indicator that has text to go with it. To accomplish this I am attempting to load data from an API, throughout that process I am updating the loading state to reflect so. (or so i thought...). The loading state doesn't change at all throughout the useEffect running.

useEffect(() => {
    setLoading((prev) => ({
        ...prev,
        isLoading: true,
        text: 'Fetching customer data ...',
    }))
    console.log(loading)
    if (agreementId) {
        getCustomerData(agreementId)
            .then((response) => {
                const { customerData } = response

                if (customerData) {
                    setApiValues(customerData)
                } else {
                    setApiValues({})
                }
            })
            .catch((err) => {
                console.log('error: ', err)
            })
    } else if (!agreementId) {
        setLoading((prev) => ({
            ...prev,
            text: 'Creating new customer ...',
        }))
        const customerId = v4()
        const slashSplit = location.pathname.split('/')
        if (slashSplit.length <= 3) {
            navigate(`${location.pathname}/${customerId}`, {
                replace: true,
            })
        }
    }
    setLoading((prev) => ({
        ...prev,
        text: 'Building your form ...',
    }))
    getPreAppCards(applicationId).then((response) => {
        setPreAppData(response)
    })
    setLoading({ isLoading: false, text: '' })
    console.log('loading: ', loading)
}, [])

Am i updating the state incorrectly?

about 4 years ago · Juan Pablo Isaza
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!