首页 > 解决方案 > 在 Firebase 中使用重定向 Google 登录后如何将用户重定向到特定网页?

问题描述

Google/Facebook 登录流程的本质是,在我们登录 Google 的重定向页面后,它会返回到我们网站的登录页面。

单击 Google/Facebook 登录按钮时,将运行以下代码:
fire.auth().signInWithRedirect(provider);

因此,我目前的方法是使用 onAuthStateChanged() 函数检查 Firebase 用户对象。如果填充了用户状态,则渲染一个组件,否则,如果它为空,则渲染该组件。

{user ? (
    <Home />
  ) : (
    <Signup />
)}

但问题是,在使用 Google 或 Facebook 登录后,组件会显示一段时间(可能是 1-2 秒),然后再渲染组件。

我想在使用 Google 重定向登录后立即呈现组件。我应该怎么办?

标签: reactjsfirebasefirebase-authentication

解决方案


单击登录按钮时,您应该在登录屏幕中显示完全加载状态

因此,当身份验证开始时,向用户显示加载器,

如果失败则停止装载机

你可以做类似的事情

  if (authUser === undefined || isLoading) {
   return <AuthLoader />;
  }
  return <LoginComponentContents/>

推荐阅读