reactjs - 在 Firebase 中使用重定向 Google 登录后如何将用户重定向到特定网页?
问题描述
Google/Facebook 登录流程的本质是,在我们登录 Google 的重定向页面后,它会返回到我们网站的登录页面。
单击 Google/Facebook 登录按钮时,将运行以下代码:
fire.auth().signInWithRedirect(provider);
因此,我目前的方法是使用 onAuthStateChanged() 函数检查 Firebase 用户对象。如果填充了用户状态,则渲染一个组件,否则,如果它为空,则渲染该组件。
{user ? (
<Home />
) : (
<Signup />
)}
但问题是,在使用 Google 或 Facebook 登录后,组件会显示一段时间(可能是 1-2 秒),然后再渲染组件。
我想在使用 Google 重定向登录后立即呈现组件。我应该怎么办?
解决方案
单击登录按钮时,您应该在登录屏幕中显示完全加载状态
因此,当身份验证开始时,向用户显示加载器,
如果失败则停止装载机
你可以做类似的事情
if (authUser === undefined || isLoading) {
return <AuthLoader />;
}
return <LoginComponentContents/>
推荐阅读
- vba - 如何在 vba 的类中的 Let 函数上设置 2 个参数(对于 excel)?
- node.js - Firebase 云功能服务器错误。getaddrinfo ENOTFOUND storage.googleapis.com
- javascript - 添加日志以存储有关用户操作 JavaScript 的信息
- javascript - 如何在图中找到元素?
- c++ - 错误 C2678:未找到采用“const_Ty”类型的左操作数的运算符(或没有可接受的转换)
- linux - 安装 .run 文件期间的浮点异常(核心转储)
- azure - ASP.Net Core 3.1 在 Azure 应用服务上加载 Azure Key Vault 时出错
- mysql - 有没有办法从 MySQL 查询中计算总数?
- node.js - 如何使用 NodeJS / Express 控制对 S3 的文档访问
- python - 以不同的速度创建 GIF