首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在点击电子邮件激活链接后,如何通过状态响应

在点击电子邮件激活链接后,如何通过状态响应
EN

Stack Overflow用户
提问于 2019-02-07 09:03:54
回答 1查看 725关注 0票数 2

使用ReactJS和Django REST框架,我正在构建一个应用程序,用户可以在其中注册。

提交注册表格后,用户将获得一个电子邮件激活链接。单击该链接将用户重定向回前端,转到一条消息,通知他们电子邮件现在被激活。之后,它将将用户重定向到登录屏幕。

流程A:提交注册表单->用户收到电子邮件激活链接->消息(新选项卡) ->登录表单

单击电子邮件激活链接后的新选项卡打开是一个关键方面,因为这意味着我将从新状态开始。

现在。让事情变得更复杂的是,我正在开发的应用程序给用户提供了填充购物车的可能性。然后,他们可以要求报价。

流程B:购物车->用户单击“请求报价”->报价概述/确认

用户需要登录才能请求报价。当他们点击请求引号但没有登录时,他们将获得登录或注册的选项。

流程C:购物车->用户单击“请求引用”->页面,要求用户登录或注册

当他们选择注册选项时,他们将被重定向到注册页面,他们将采用我前面描述的注册流程。

现在,我想要实现的是在注册过程之后,将用户重定向到引用概述/确认页面。这是他们最终会在流程B中结束的一页。

但是问题是我失去了所有的状态,因为打开了一个新的选项卡。

因此,我猜想处理这种情况的方法是将前端的必要状态存储在后端。例如,使用会话。

我的问题是:对于这种(类型的)情况,有什么设计模式吗?

我可以解决这个问题,但我想以一种干净、恰当的方式解决它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-07 09:35:12

您可以在IndexDB、LocalStorage或Cookie内部重新加载或打开一个新的选项卡,然后在应用程序重新挂载并从中预填充状态时读取这些信息。

注意: IndexDB是最先进的解决方案,最糟糕的是基于浏览器的支持,LS适用于所有现代浏览器,Cookies可以在任何地方工作。

我会明确地使用这种方法来存储那些需要保存完整页面的东西,重新加载或者打开一个新的选项卡(基本上是从头开始重新加载应用程序),用于匿名用户(例如,没有登录或注册)。

例如,如果用户单击电子邮件激活链接,这将导致路由(例如:/registration/:token )。

您将挂载一个组件,该组件将将消息显示为“您已成功地确认了您的电子邮件”,并将其重定向到登录页。但是,您可以使用上述解决方案之一的cart信息预填充状态。

在用户成功登录后,您可以签入状态,然后如果cart为空,并执行默认重定向(例如主页、用户配置文件或管理仪表板),或者如果购物车减少器中有任何内容,则可以重定向用户直接引用概述。

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

https://stackoverflow.com/questions/54569674

复制
相关文章

相似问题

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