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

188
Views
Redux states don't update inside the firebase auth onAuthStateChanged callback

I use a redux state inside the firebase auth onAuthStateChanged callback like this

...
const authUser  = useSelector(state => state.authUser)
console.log(authUser.status)
useEffect(() => {
  const unsubscribe = onAuthStateChanged(auth, () => {
     console.log(authUser.status)
     if (authUser.status === 'loading') {
       dispatch(updateStatus('loaded'))
  }
  return () => unsubscribe()
}, []);
...

First it logged

loading

loading

then after I signed in the auth state changed and it logged

loaded

loading

The initial state of status is loading. Every time the auth state changes it will call the callback function. The value of status inside the callback is always loading even that its value in the store has changed to loaded. Why doesn't its value in the callback change?

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

0

After reading this explanation from Dan I knew that states, props will never change inside a closure. To achieve the logic I wanted, just rewrite the update logic inside createSlice

...
    updateStatus: (state, action) => {
      if (state.auth.status === 'loading') {
        state.auth.status = 'loaded'
      }
    }
...
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!