谁能解释一下react useEffect钩子是如何作为ComponentWillUnmount
在这里工作的?还有如何使用firebaseonAuthStateChanged
处理加载状态?
const [loading, setLoading] = useState(false);
useEffect(() => {
const auth = getAuth();
const unsubscribe = onAuthStateChanged(auth, (user) => {
setCurrentUser(user);
setLoading(true);
});
return unsubscribe;
}, []);
useEffect
将接受您返回的函数并最终在组件卸载时运行它。这确实类似于ComponentWillUnmount
的工作原理。如果你不想卸载任何动作,不要在你的useEffect
中返回任何东西。
你可以在React effect hooks文档中了解更多。