繁体   English   中英

React-router-dom 的重定向没有做任何事情

[英]React-router-dom's Redirect not doing anything

我正在开发一个身份验证系统(我目前正在测试而不发送数据) <Redirect to"(path)"> 没有做任何事情。 我在这里做错了什么吗?

import React, { Component } from 'react';
import { withRouter, Link, Redirect, useHistory } from 'react-router-dom';


class Login extends Component {
    constructor(props) {
        super(props);
        this.state = {
            email: '',
            password: '',
        };
    } 
    login(event) {
        event.preventDefault();
        return <Redirect to="/home"></Redirect>
    }
    render() {
        return (
            <div className="login">
                <img src="images/tradecast-logo.png"/>
                <h2>Employee Management System</h2>
                <form onSubmit={this.login}>
                    <h1>Inloggen</h1>
                    <p>E-mail</p>
                    <input type="text" name="email" placeholder="E-mail" />
                    <p>Wachtwoord</p>
                    <input type="password" name="password" placeholder="Wachtwoord"/>
                    <Link to="/forgot-password">Wachtwoord vergeten</Link>
                    <div className="btns">
                        <button type="submit">Aanmelden</button>
                        <Link className="btn-register" to="/register">Registreren</Link>
                    </div>
                </form>
                <p className="copyright">&copy; {new Date().getFullYear()} TradeCast Employee Management by Jens Bouma</p>
            </div>
        )
    }
}
        
export default withRouter(Login);
        

正如这里所说的,重定向必须呈现而不仅仅是返回。 作为替代方案,由于您使用的是类组件,您可以使用this.props.history.push("/home”)代替。

重定向将在渲染函数 this.context.history.push("/home") 中起作用

     this.context.history.push("/home")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM