如何使用React Router处理登录状态?

时间:2016-06-02 01:51:48

标签: reactjs react-router reactjs-flux

我是一个菜鸟,用Node,Express和React开始我的第一个项目。

我认证工作正常,我有一个调用动作的组件,它调用商店(或应该),但这是我感到困惑的地方。我不知道该往哪里去。

我的LoginActions.login进行api调用以登录用户,它成功返回并存储带有会话ID的cookie。之后,如何告诉用户界面转到仪表板?如何让UI知道用户实际经过身份验证,如果不是,请将他踢出去?

我应该在哪里检查所有这些?这是商店吗?组件本身?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

你并不是真的"假设"以任何特定的方式做到这一点。 React更像是一个库而不是一个框架。你可以随意使用它。

一种选择是使用react-router的onEnter函数来验证登录状态,并使用它的替换方法来相应地重定向。

您还可以让您的组件自行验证登录状态,如果尚未登录,则可以呈现您的登录表单。

或者您甚至可以将您的登录表单存储在一个唯一的uri中,并通过服务器处理所有身份验证,使用基于登录状态的302重定向。

由你决定!