在发展中,重定向和404的这些要求是很常见的,和react-router4.0可以重定向使用重定向
最常见的是在
用户登录后自动跳转到主页。
进口
反应,{成分} from'react;
进口Axios from'axios;
进口{ } from'react-router-dom重定向;
类登录
扩展组件{
构造
函数(){
超级();
this.state = {价值:',登录:假};
this.handlechange = this.handlechange.bind(本);
this.tologin = this.tologin.bind(本);
}
HandleChange(事件){
this.setstate({价值:事件。
目标值})
}
ToLogin(accesstoken){
Axios.post('yoururl,{ accesstoken })
然后((=){
this.setstate({登录:true});
})
}
渲染(){
如果(这个道具。登录){
返回(
)
}
返回(
{ this.tologin(这个状态。值)} } >登录
)
}
}
导出
默认登录;
这个例子是唯一的登录状态作为国家
操作和维修部件,在实际开发中,无论是登录状态应该是全球使用,所以你可能需要考虑如Redux数据
管理数据库的使用,数据管理方便。存储用户信息这里需要注意使用传统的登录使用cookie存储的障碍和复杂的如SessionID,使用令牌,可以返回给用户的信息,然后考虑使用sessionStorage和localStorage存储用户信息(包括
用户名、
图片等)需要指定从商店获取初始状态写作的减速器,如:
const login_success = 'login_success;
const login_failed = 'login_failed;
const loginout = 'loginout;
常量=函数(状态,动作){
如果(!状态){
console.log(国家的);
如果(sessionstorage.getitem('usermsg ')){
返回{
登录:真,
Usermsg:JSON.parse(sessionstorage.getitem('usermsg '))
}
}
返回{
登录:假,
Usermsg:{ }
}
}
开关(动作
类型){
案例login_success:
返回:真的,usermsg {登录:行动。usermsg };
案例login_failed:
返回:{登录虚假,usermsg:{ } };
案例loginout:
返回:{登录虚假,usermsg:{ } };
违约:
返回状态
}
};
导出默认登录;
指定的404页也是非常简单的,只需在
路由系统的末端指定404页的带有路由的组件。
当所有
路径中指定的路径不匹配,在编写组件加载,即404页
以上是本文的全部内容,希望能对您有所帮助,希望大家多多
支持。