在 React 应用程序上区分客户端重定向与 302 重定向

我有一个 React/React-Router 应用程序,需要了解用户如何登陆页面的上下文。可能有两种不同的情况(1)302 重定向(2)客户端重定向。

让我添加用例以提供更多详细信息

(1):用户直接点击URL登陆页面

(2): 用户点击一个按钮,然后通过LinkAPI 被重定向到另一个页面。

我注意到 react router props 包含历史对象并且在 (1) 情况下,历史操作是POP在客户端重定向情况下 (2) 它是PUSHor REPLACE。我可以尊重历史操作并通过检查来确定 302 重定向是否是一个很好的假设action === POP


慕慕森
浏览 143回答 1
1回答

倚天杖

为了适合您的特定用例,我们有多种方法可以实现这一目标让我们回顾一下您提到的一些问题用户点击一个按钮:所以如果我们可以完全控制一个按钮的功能,我们可以在用户点击它时定义多个参数,例如我们可以在转发 url 上添加一个查询参数,在下一页我们知道用户在哪里来自有点像这样www.example.com/?referrer=oldButton这将指示用户如何来到页面的清晰模式。或者就反应路由器而言,我们可以传递额外的参数以便稍后访问另一个组件。 history.push('/path', yourData);用户直接点击 URL 并登陆页面:你假设正确我们可以使用 POP、PUSH、REPLACE 方法来识别用户是如何登陆特定页面的。浏览器使用我们所说的历史记录,它记录了之前或之后访问过的每个页面,我们可以直接使用它或通过 react-router希望有所帮助 :)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript