首页 > 解决方案 > 登录后如何重定向到主页:ReactJS?

问题描述

homepage在 ReactJS 中成功登录后如何重定向?以及如何error message在用户输入错误凭据时显示?
我尝试了类似下面的方法,但在成功登录后并没有在用户点击错误凭据时显示redirect提示。 如果有人能弄清楚我在哪里做错了,那就太好了。homepagelogin failed

./src/Login.js

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

export default class App  extends Component{

  constructor(props) {
        super(props);
        this.state ={
            username: "",
            password: "",
        }
        this.onFormSubmit = this.onFormSubmit.bind(this)
    }

    onFormSubmit(values){
      console.log(values);

      const formData = new FormData();
      formData.append("username", values.username);
      formData.append("password", values.password);

        const options = {
            method: 'POST',
            body: formData
        };

      fetch('http://localhost:8000/api/login', options).then(() => {
        <Redirect to="/home" />
        }).catch((error) => {
      console.log(this.props.state)
      })


    };


 render(){
    return(

      <div>
                            <Form onFinish={this.onFormSubmit}>
                                <div class="col-md-12 form-group p_star">
                                    <Form.Item name="username">
                                      <input type="text" class="form-control" placeholder="Username"/>
                                    </Form.Item>
                                </div>
                                <div class="col-md-12 form-group p_star">
                                  <Form.Item name="password">
                                    <input type="password" class="form-control"
                                        placeholder="Password"/>
                                   </Form.Item>
                                </div>
                                <div class="col-md-12 form-group">
                                    <button type="submit" value="submit" class="btn_3">
                                        log in
                                    </button>
                                </div>
                            </Form>

     </div>

标签: javascriptreactjs

解决方案


您可以使用

window.location = "/home";

或者

this.props.history.push("/home");

随它去。

或者

您可以通过使用反应路由器以编程方式导航


推荐阅读