首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Reactjs -我可以在我的网站的所有页面中使用Auth.authenticatedUser函数吗?

Reactjs -我可以在我的网站的所有页面中使用Auth.authenticatedUser函数吗?
EN

Stack Overflow用户
提问于 2020-03-16 12:04:35
回答 1查看 120关注 0票数 0

我的问题是概念性的,所以我不会在这里写任何代码。

我正在用Reactjs构建我的网站,所有的认证过程都在正常工作。为了方便起见,我将考虑网站中的03页:-Page1:使用SignIn方法的用户Auth.signIn页面。当用户通过身份验证时,它会自动转到第2页。

  • 第2页:在这个页面中,必须呈现来自用户的大量信息。为此,有一个API,其中输入参数是用户名。为了获得用户名参数,在呈现页面时调用Auth.authenticatedUser方法。之后,调用API从数据库获取用户信息。让我们假设页面2中只有一个按钮可以访问第3页。
  • 第3页:在这个页面中有更多关于用户的信息,这些信息必须从数据库中读取。获取这些信息的API同样具有输入参数"username“。要获得用户名参数,我有两个选项:选项1:再次使用Auth.authenticatedUser并获得用户名选项2:将“用户名”从第2页传递到第3页,作为支持。

在我的例子中,使用选项1要容易得多,因为我的网站有很多页面,将道具从一个页面传递到另一个页面是一项困难的任务--我将不得不使用redux。

我的问题是:-在所有页面中使用Auth.authenticatedUser获取用户名信息有什么问题吗?这样做有任何不同之处(如渲染页面的速度等)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-16 18:14:35

来源中看,它似乎在内存localStorage中缓存用户,因此检索用户名应该是相当有效的。

只需再次检查浏览器的网络选项卡,该选项卡不会在每次调用Auth.currentAuthenticatedUser时发出任何网络请求。

从它的外观来看,放大器的开发似乎考虑到了您的用例,因为它几乎可以像用户身份验证信息的“全局存储”一样使用。不仅是API的包装器,还可以为您提供一些缓存和逻辑。因此,最好直接调用它,而不是将用户的数据存储在Redux中或在页面之间传递数据。将用户的数据存储在Redux中或在页面之间传递数据只会创建重复的逻辑。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60705671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档