1. 程式人生 > >③react-router4.x使用 js實現路由跳轉

③react-router4.x使用 js實現路由跳轉

實現js跳轉路由官方文件:js路由跳轉

1、要引入Redirect

import { BrowserRouter as Router,Route, Link, Redirect, withRouter} from "react-router-dom";

2、定義一個flag

this.state = {

    loginFlag:false

};

3、render裡面判斷flag 來決定是否跳轉

if(this.state.loginFlag){

    return <Redirect to={{ pathname: "/" }} />;

}

4、要執行js跳轉

通過js改變loginFlag的狀態

改變以後從新render 就可以通過Redirect自己來跳轉

demo:

import React, { Component } from 'react';
import {Redirect} from "react-router-dom";

class Login extends Component {
    constructor(props) {
        super(props);
        this.state = { 
            loginFlag:false            
        };
    }

    doLogin=(e)=>{

        e.preventDefault();
        
        let username=this.refs.username.value;
        let password=this.refs.password.value;

        console.log(username,password)

        if(username=='admin' && password=='123456'){
            //登入成功   跳轉到首頁
            this.setState({

                loginFlag:true
            })

        }else{

            alert('登入失敗')
        }

    }

    render() {

        if(this.state.loginFlag){

            // return <Redirect to={{ pathname: "/" }} />;

            return <Redirect to='/' />;
        }
        return (    

            <div>
                <form onSubmit={this.doLogin}>

                    <input type="text"  ref="username" />  <br /> <br />

                    <input type="password"  ref="password" /> <br /> <br />

                    <input type="submit"  value="執行登入"/>

                </form>               

            </div>
            
        );
    }
}

export default Login;

相關推薦

react-router4.x使用 js實現路由

實現js跳轉路由官方文件:js路由跳轉 1、要引入Redirect import { BrowserRouter as Router,Route, Link, Redirect, withRouter} from "react-router-dom"; 2、定義一個

原生js實現路由

var regexps = [ /[\-{}\[\]+?.,\\\^$|#\s]/g, /\((.*?)\)/g, /(\(\?)?:\w+/g, /\*\w+/g, ] function extractRoute (route) { v

js實現頁面的幾種方式

head 註意 ont rem text pla http bsp cat 通過js或者html或者PHP等動態程序都可以方便的實現跳轉,這裏搜集了幾種頁面跳轉的方式js方式的頁面跳轉1.window.location.href方式 <script langua

React PureComponent導致react-router-dom Link 失效 路由失敗(位址列變,頁面不)

載入路由的元件 不能 extends PureComponent entry.js import React, { Component } from 'react' import { BrowserRouter } from 'react-router-dom' import

vue 實現路由

1.前一節已經安裝了vue-router(npm install vue-router --save),現在就來使用一下 1)先在App.vue元件中配置路由出口 <template> <div id="app"> <div class="conta

vue.js通過路由傳參,重新整理頁面引數丟失

問題:vue.js路由跳轉,跳轉頁面重新整理後引數丟失,沒有資料,怎麼解決?? 出現的情況:從新聞列表頁面進入某一條新聞得詳情頁,需要在路由跳轉時給詳情頁面傳送該條新聞得ID,然後詳情頁獲取ID想後臺請求資料將內容展示,還有商品詳情頁等等~ 下面寫了一個小例子,是模擬專案的新聞列表和詳情頁,

Vue實現路由 vue-router

首先,我們先下載安裝路由(模組化) npm i vue-router -s 接著在啟動檔案中啟用該路由(配置路由規則) “../pages/DmMyself”是我的路徑,大家自行修改你們的路徑 import Vue from 'vue' import Route

js實現頁面選單選中

<div class="headerpanel"> <div class="headerlist"> <ul> <li class="active" role="cashierMenu

頁面a到另一個頁面b,js實現頁面傳值

要實現從一個頁面A跳到另一個頁面B,js實現就在A的js程式碼加跳轉程式碼 JS跳轉大概有以下幾種方式: 第一種:(跳轉到b.html)<script language="javascript" type="text/javascript">window.l

js實現頁面,頁面A到另一個頁面B,以及頁面傳值

第一個頁面: (tes1.html) <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>頁面1</title>

利用js實現頁面並在到的頁面進行判斷操作

1、跳轉按鈕頁面 可以在a標籤上直接寫上跳轉的地址,這裡要注意的是url後面要接上我們傳到下個頁面的引數,這樣才能在下個頁面利用js解析url並進行判斷。 <a href="123.html?

button跟submit的區別及使用js實現頁面的方式

button和submit的區別及使用js實現頁面跳轉的方式: 原文:  http://blog.csdn.net/luosisan/article/details/17385657 type=button      //就單純是按鈕功能    type=submit

Vue2.5.x --- 點選路由後重新整理頁面仍然停留在之前的路由頁面解決方法

如果想重新整理的時候是重新整理點選的頁面 可以用快取記錄重新整理前的路由地址 然後重新整理時設定預設地址為快取的路由地址即可 處理前的情況,頁面重新整理也會停留在之前跳轉的路由頁面: 處

js實現頁面重定向的幾種方式

<script type="text/javascript"> function more(){url='searchResult.php?catid=0';window.location.href=url;//alert(url); } document.o

js實現網頁腳本

fun true proc button dea js代碼 EDA 按鍵 復制 為什麽要寫這個腳本 生活中很多時候會經常登錄一個論壇或者網頁但是每次打開瀏覽器都要輸一遍網址,或者點開收藏的書簽這樣遠遠不如在桌面上打開文件點兩下快,還能裝X,多好 前提條件 需要會一些基礎的h

js實現頁面,和獲取當前頁面地址

and cat 直接 cati expand 當前 頁面跳轉 location 設置 JS有時候需要實現頁面跳轉,那麽可以直接在某個事件觸發中設置 location.href="/user/center/" 這樣即可實現頁面跳轉。 獲取當前頁面地址可以直接這樣

webpack4.X + react-router 路由

mod rep reac 安裝 靜態資源 default lena serve tel webpack4.X react-router 環境準備工作:windows7、webStorm 2017.1.4、Nodejs 8.7.0、npm 5.4.2 PS:安裝的時我們

react-native實現新建頁面+路由

步驟: 1.新建一個新頁面,即自己所需要的檔案(拜訪新訊息) 配置: static navigationOptions = ({ navigation, navigationOptions }) => { const { params } = navigation.stat

vue實現路由以及數據傳遞

mage cnblogs out src 自主 home gif default ole 定義一個父組件 <template> <v-layout> <v-card contextual-style="dark"

不同終端實現自動到相應頁面的js代碼

get cati string type clas 實現 www oca pac 1 2 3 4 <script type="text/javascript"> if(/Android|webOS|iPhone|iP