我试图理解反应 useEffect 钩子

Meh*_*san 3 reactjs react-hooks

任何人都可以解释一下反应 useEffect 钩子是如何工作的ComponentWillUnmount。另外如何使用 firebase 处理加载状态onAuthStateChanged

const [loading, setLoading] = useState(false);

useEffect(() => {
  const auth = getAuth();
  const unsubscribe = onAuthStateChanged(auth, (user) => {
    setCurrentUser(user);
    setLoading(true);
  });
  return unsubscribe;
}, []);
Run Code Online (Sandbox Code Playgroud)

Ant*_*cía 5

useEffect将获取您返回的函数并最终在卸载组件时运行它。这确实与工作原理类似ComponentWillUnmount。如果您不想在卸载时执行任何操作,请不要在useEffect.

您可以在React Effect hooks 文档中阅读更多相关信息。