React路由器:获取一个登录成功的url,并传递一个令牌,然后重定向到主页
React router: catch a login-success url with a token being passed then redirect to homepage
我正在编写一个React应用程序,它具有基于令牌的授权:外部身份验证。服务将用户重定向到应用程序,并在url中传递一个令牌,如下所示:/login-success/?token=<token>
。
在应用程序中,我需要捕获该令牌并存储在状态中。我的想法如下:
1( 创建LoginSuccess
组件:
class LoginSuccess extends React.Component {
componentDidMount() {
const {
actions: { setToken, redirectToHomepage },
location: { query }
} = this.props
setToken(query.token)
redirectToHomepage()
}
}
2( Redux连接操作(在容器中(:setToken
&redirectToHomepage
3( 添加子路由<Route path="/login-success" component={LoginSuccess} />
我的问题是:有更好/更简单的方法吗?
一个小更新:我可能正在使用componentWillReceiveProps
我不确定这是否是您想要的,当您指的是从查询param:捕获令牌的简单方法时
我通常使用URL结构,如:/login-success/<token>
,然后在路由中,我使用:<Route path="/login-success/:token" component={LoginSuccess} />
然后,当我mapStateToProps
时,我只做:
const mapStateToProps = (state, ownProps) => {
return {
token: ownProps.token
};
};
现在,令牌在this.props
对象中变得可以访问。
相关文章:
- 如何在只能有一个asp.net表单的主页上从asp.net页面中的javascript中获取值
- 如何在
- 使用bootstrap,jquery和javascript创建一个动态主页
- Cookie 数据在离开主页后仅存储一个变量
- 当用户打开一个网站时,在Magento主页上打开一个弹出窗口
- 当我使用另一个iframe时,如何从主页向iframe发送数据
- 下载一个由javascript生成POST参数的主页
- Python可以'NetworkX库创建动画?他们的主页上有一个精美的动画
- 将CSS文件注入限制为仅一个网站主页(没有超过域的内容)
- 在angularJS的主页上添加一个类
- 如何使用JQuery将包含在主页面的另一个页面在iFrame中调用
- React路由器:获取一个登录成功的url,并传递一个令牌,然后重定向到主页
- 如何从主页上分享几个帖子,每个帖子都有自己的截图,但都有一个URL?Facebook, Google+, Twitter
- 如何从主页发送图像到另一个
- 在主页上添加一个变化的图像
- 我如何使用Jquery在主页上放一个滑块插件
- 设置一个cookie来保存用户的语言选择,并被重定向到所选页面而不是主页
- 如何弹出一个通知跨度当用户刚刚登录(而不是只是刷新到主页)
- 如何创建一个 cookie 来检查用户是否访问过我的主页
- 创建一个页面,要求用户在打开主页之前回答数学公式