react-router4.0实现重定向与404功能
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了react-router4.0实现重定向与404功能,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2433字,纯文字阅读大概需要4分钟。
内容图文
次给大家带来react-router4.0实现重定向与404功能。react-router4.0实现重定向与404功能的注意事项有哪些,下面就是实战案例,一起来看一下。
在开发中,重定向和404这种需求非常常见,使用React-router4.0可以使用Redirect进行重定向
最常用的就是用户登录之后自动跳转主页。
import React, { Component } from 'react'; import axios from 'axios'; import { Redirect } from 'react-router-dom'; class Login extends Component{ constructor(){ super(); this.state = {value: '', logined: false}; this.handleChange = this.handleChange.bind(this); this.toLogin = this.toLogin.bind(this); } handleChange(event) { this.setState({value: event.target.value}) } toLogin(accesstoken) { axios.post('yoururl',{accesstoken}) .then((res) => { this.setState({logined: true}); }) } render() { if(this.props.logined) { return ( <Redirect to="/user"/> ) } return ( <p> <input type="text" value={this.state.value} onChange={this.handleChange} /> <a onClick={() => { this.toLogin(this.state.value) }}>登录</a> </p> ) } } export default Login;
以上这个示例仅仅是将登录的状态作为组件的state使用和维护的,在实际开发中,是否登录的状态应该是全局使用的,因此这时候可能你会需要考虑使用redux等这些数据状态管理库,方便我们做数据的管理。这里需要注意的使用传统的登录方式使用cookie存储无序且复杂的sessionID之类的来储存用户的信息,使用token的话,返回的可能是用户信息,此时可以考虑使用sessionStorage、localStorage来储存用户信息(包括头像、用户名等),此时书写reducer时需要指定初始状态从存储中获取,如:
const LOGIN_SUCCESS = 'LOGIN_SUCCESS'; const LOGIN_FAILED = 'LOGIN_FAILED'; const LOGINOUT = 'LOGINOUT'; const Login = function(state, action) { if(!state) { console.log('state'); if(sessionStorage.getItem('usermsg')) { return { logined: true, usermsg: JSON.parse(sessionStorage.getItem('usermsg')) } } return { logined: false, usermsg: {} } } switch(action.type) { case LOGIN_SUCCESS: return {logined: true,usermsg: action.usermsg}; case LOGIN_FAILED: return {logined: false,usermsg:{}}; case LOGINOUT: return {logined: false, usermsg: {}}; default: return state } }; export default Login;
指定404页面也非常简单,只需要在路由系统最后使用Route指定404页面的component即可
<Switch> <Route path="/" exact component={Home}/> <Route path="/user" component={User}/> <Route component={NoMatch}/> </Switch>
当路由指定的所有路径没有匹配时,就会加载这个NoMatch组件,也就是404页面
相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!
推荐阅读:
js原型对象使用的步奏详解
js设置元素样式步奏详解
以上就是react-router4.0实现重定向与404功能的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的react-router4.0实现重定向与404功能全部内容,希望文章能够帮你解决react-router4.0实现重定向与404功能所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。