繁体   English   中英

Firebase 的 onAuthStateChanged 如何在 reactJS 的 ComponentDidMount 生命周期中工作

[英]How does firebase's onAuthStateChanged work in ComponentDidMount lifecycle in reactJS

谁能解释一下这个 onAuthStateChanged function 如何在 componentDidMount 中工作。 我知道这个生命周期钩子只在组件安装时执行一次。 那么里面的function是怎么执行的呢?

我假设它就像回调 function 继续在事件循环中运行,因为当 state 像 JS 中的 addEventlistner 一样更改时会被触发。

componentDidMount() {
    console.log("Context Mounted");
    firebaseapp.auth().onAuthStateChanged((user) => {
      if (user) {
        this.setState({ currentUser: user });
        console.log("User Signed IN ");
      } else {
        console.log("THERE IS NO USER");
      }
    });
  }

你几乎明白了它的要点:在你用 Firebase 注册你的onAuthStateChanged回调后,它将被调用:

  1. “立即”使用当前身份验证 state
  2. 每当身份验证 state 更改时

由于您调用setState将用户放入 state,因此只要发生上述事件之一,就会触发 UI 的重新呈现。

这一直持续到应用程序退出或直到您取消注册侦听器,您通常应该在同一组件的componentWillUnmount方法中执行此操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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