zoukankan      html  css  js  c++  java
  • React之js实现跳转路由

    1、新增知识

    /*
    实现js跳转路由:https://reacttraining.com/react-router/web/example/auth-workflow
    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自己来跳转
    */

    2、代码实现js跳转路由

    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>
                     <br /> <br /> <br />
                    <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;

    3、

  • 相关阅读:
    hibernate和mybatis区别
    Spring事务的传播行为和隔离级别
    数组拷贝
    spring mvc 一次请求 两次查询
    手游性能之渲染分析3
    Android pm 命令详解
    Android am命令使用
    Android dumpsys命令详细使用
    java处理高并发高负载类网站的优化方法
    关于ArrayList的5道面试题
  • 原文地址:https://www.cnblogs.com/ywjfx/p/10432448.html
Copyright © 2011-2022 走看看