在Angular 2/4/6应用程序中管理状态的最佳实践

我是角色的新手,但是已经为我分配了一个项目,所以我开始研究它,但是我面临着与状态管理相关的情况,因此在通过wcf进行身份验证之后,Restful服务会向用户提供令牌.所以我可以用这3种方法来解决这个问题.

>会话存储
>饼干
>本地存储

上述方法的问题是 –
>如果我使用会话状态,它对浏览器中的新选项卡无效,因此我无法检查令牌是否存在
>如果我使用本地存储,如果用户关闭浏览器并离开他/她的系统,之后别人打开他的浏览器那么它将无法工作,那么这显然是一个安全威胁.
>如果我使用cookies它一直工作到现在直到我面临一个奇怪的问题我的子组件通过使用canActivateChild函数通过authguard进行身份验证.
但是当我将URL(以及子组件路径)粘贴到新选项卡中时,两个选项卡中的两个页面都相同,当我从第二个选项卡单击“注销”按钮时,它不会删除cookie.

注意:每次单击注销按钮时都会调用函数,但它在第二个选项卡中不起作用,并且从第一个选项卡中可以正常工作.

最佳答案 最好的方法是Ngrx,如果你在Angular,以前它是Redux.现在我们有Ngrx你也可以使用Ngrx设备工具作为chrome扩展来查看你的应用程序加载时的状态和动作..它真棒.

点赞