-
- Notifications
You must be signed in to change notification settings - Fork 294
Description
Your tutorial really helped me out getting firebase to work nicely in my React app so thanks a lot! 👍
I want to add multiple listeners to a React component. With Firebase authentication, I want to trigger these actions
- when the user first signs in or out: onauthstatechanged
- everytime the idToken changes: onidtokenchanged
Form the tutorial:
export class AuthContextProvider extends React.Component { componentDidMount() { if (!this.state.firebase) { /** set listener whether user is signed in */ this.listener = this.props.firebase.auth().onAuthStateChanged( authUser => { if (authUser) { this.setState({ authUser }); } else { this.setState({ authUser: null }); } }, ); /** * ######## * Question: Can I just add another function to this.listener? * Will both listeners trigger the appropriate times? * ######## */ this.listener = this.props.firebase.auth().onIdTokenChanged( authUser => { if (authUser) { // do something } }, ); } } }
It seemed to work in my implementation. Both events are triggered. But it seems wrong to me since I am reassigning this.listener
when using .onIdTokenChanged()
.
How can I add both onAuthStateChanged
AND onIdTokenChanged
to this.listener
correctly?
My question is also about this.listener
. What exactly does it do? Where can I find documentation about it? Typing '"this.listener" react' shows many results about window.addEventListener
. Is this an equivalent and achieves the same goal?
I assume this in this.listener
refers to my class which extends React.Component
. The React documentation does not mention anything about the listener property. Please correct me here if this refers to something else.