最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用react-router4.0實(shí)現(xiàn)重定向和404功能的方法

 更新時(shí)間:2017年08月28日 10:24:56   作者:huruji  
本篇文章主要介紹了使用react-router4.0實(shí)現(xiàn)重定向和404功能的方法,具有一定的參考價(jià)值,有興趣的可以了解一下

在開發(fā)中,重定向和404這種需求非常常見,使用React-router4.0可以使用Redirect進(jìn)行重定向

最常用的就是用戶登錄之后自動(dòng)跳轉(zhuǎn)主頁(yè)。

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 (
   <div>
     <input type="text" value={this.state.value} onChange={this.handleChange} />
     <a onClick={() => { this.toLogin(this.state.value) }}>登錄</a>
   </div>
  )
 }
}

export default Login;

以上這個(gè)示例僅僅是將登錄的狀態(tài)作為組件的state使用和維護(hù)的,在實(shí)際開發(fā)中,是否登錄的狀態(tài)應(yīng)該是全局使用的,因此這時(shí)候可能你會(huì)需要考慮使用redux等這些數(shù)據(jù)狀態(tài)管理庫(kù),方便我們做數(shù)據(jù)的管理。這里需要注意的使用傳統(tǒng)的登錄方式使用cookie存儲(chǔ)無序且復(fù)雜的sessionID之類的來儲(chǔ)存用戶的信息,使用token的話,返回的可能是用戶信息,此時(shí)可以考慮使用sessionStorage、localStorage來儲(chǔ)存用戶信息(包括頭像、用戶名等),此時(shí)書寫reducer時(shí)需要指定初始狀態(tài)從存儲(chǔ)中獲取,如:

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頁(yè)面也非常簡(jiǎn)單,只需要在路由系統(tǒng)最后使用Route指定404頁(yè)面的component即可

<Switch>
 <Route path="/" exact component={Home}/>
 <Route path="/user" component={User}/>
 <Route component={NoMatch}/>
</Switch>

當(dāng)路由指定的所有路徑?jīng)]有匹配時(shí),就會(huì)加載這個(gè)NoMatch組件,也就是404頁(yè)面

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在react中使用highlight.js將頁(yè)面上的代碼高亮的方法

    在react中使用highlight.js將頁(yè)面上的代碼高亮的方法

    本文通過 highlight.js 庫(kù)實(shí)現(xiàn)對(duì)文章正文 HTML 中的代碼元素自動(dòng)添加語法高亮,具有一定的參考價(jià)值,感興趣的可以了解一下
    2022-01-01
  • 基于React?Hooks的小型狀態(tài)管理詳解

    基于React?Hooks的小型狀態(tài)管理詳解

    本文主要介紹一種基于?React?Hooks?的狀態(tài)共享方案,介紹其實(shí)現(xiàn),并總結(jié)一下使用感受,目的是在狀態(tài)管理方面提供多一種選擇方式。感興趣的小伙伴可以了解一下
    2021-12-12
  • react類標(biāo)簽的生命周期詳解

    react類標(biāo)簽的生命周期詳解

    在React類組件中,生命周期方法是非常重要的概念,它們?cè)试S我們?cè)诮M件的不同階段執(zhí)行代碼,這包括在組件掛載、更新以及卸載時(shí)執(zhí)行的生命周期方法,本文通過介紹React類組件中的生命周期方法,旨在幫助開發(fā)者深入理解組件的生命周期管理
    2024-11-11
  • react-diagram 序列化Json解讀案例分析

    react-diagram 序列化Json解讀案例分析

    今天帶來大家學(xué)習(xí)react-diagram 序列化Json解讀的相關(guān)知識(shí),本文通過多種案例給大家分析序列化知識(shí),通過圖文并茂的形式給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2021-05-05
  • react 路由Link配置詳解

    react 路由Link配置詳解

    本文主要介紹了react 路由Link配置詳解,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • React-View-UI組件庫(kù)封裝Loading加載中源碼

    React-View-UI組件庫(kù)封裝Loading加載中源碼

    這篇文章主要介紹了React-View-UI組件庫(kù)封裝Loading加載樣式,主要包括組件介紹,組件源碼及組件測(cè)試源碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • React DnD如何處理拖拽詳解

    React DnD如何處理拖拽詳解

    這篇文章主要為大家介紹了React DnD如何處理拖拽示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • react-router中<Link/>的屬性詳解

    react-router中<Link/>的屬性詳解

    這篇文章主要給大家介紹了關(guān)于react-router中<Link/>屬性的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • React構(gòu)建簡(jiǎn)潔強(qiáng)大可擴(kuò)展的前端項(xiàng)目架構(gòu)

    React構(gòu)建簡(jiǎn)潔強(qiáng)大可擴(kuò)展的前端項(xiàng)目架構(gòu)

    這篇文章主要為大家介紹了React構(gòu)建簡(jiǎn)潔強(qiáng)大可擴(kuò)展的前端項(xiàng)目架構(gòu)實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Vite?+?React從零開始搭建一個(gè)開源組件庫(kù)

    Vite?+?React從零開始搭建一個(gè)開源組件庫(kù)

    這篇文章主要介紹了Vite?+?React?如何從0到1搭建一個(gè)開源組件庫(kù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06

最新評(píng)論

军事| 清水县| 湘潭市| 南陵县| 通渭县| 海兴县| 临朐县| 鄢陵县| 枣阳市| 乐山市| 田林县| 灵宝市| 中西区| 清原| 土默特右旗| 九江县| 京山县| 冀州市| 山东省| 朔州市| 黔西县| 思南县| 剑川县| 天门市| 青海省| 陇南市| 玛沁县| 张掖市| 盐津县| 大宁县| 缙云县| 南康市| 遂溪县| 日喀则市| 西畴县| 绥化市| 奉贤区| 郑州市| 济南市| 搜索| 客服|