【发布时间】:2020-12-11 19:37:21
【问题描述】:
谁能解释一下这个 onAuthStateChanged 函数是如何在 componentDidMount 中工作的。我知道这个生命周期钩子只在组件安装时执行一次。那么里面的函数是怎么执行的呢?
我假设它就像回调函数,它会在事件循环中继续运行,因为当状态发生变化时会被触发,比如 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");
}
});
}
【问题讨论】:
-
您传递给
onAuthStateChanged的身份验证状态观察器函数将在用户的身份验证状态更改时被调用,直到您删除该观察器。如果您观察到不同的情况,请说明您在做什么以及哪些方面没有按您预期的方式工作。 -
我只是想了解 componentDidMount 的工作原理。即使它执行了一次,但是这个钩子里面的函数又被执行了。所以我猜里面的函数是在回调事件循环中注册的,并在用户注册时执行
标签: reactjs firebase firebase-authentication react-lifecycle-hooks