我正试图在Reaction项目中通过Firebase实现身份验证,但我在网上看到的所有教程都在useEffect中使用onAuthStateChanged方法,但我真的不明白这样做而不是在函数中正常运行它背后的原因.
useEffect(() => {
const unsubscribe = auth.onAuthStateChanged((user) => setCurrentUser(user)
});
return unsubscribe;
}, []);
按照这个逻辑,函数不会只运行一次,比如如果用户没有登录,函数会将CurrentUser设置为空,然后当用户try 登录时,它不会将CurrentUser设置为User,因为在这里,UsEffect在挂载时只运行一次.
也许我对react 钩子的概念理解不深,或者我在这里漏掉了什么.如果有人能给我一个深入的解释,并尽可能用最基本的术语解释,我将不胜感激.
谢谢.