[英]how to redirect to home page after login: ReactJS?
ReactJS登录成功后如何跳转到homepage
? 以及如何在用户输入错误凭据时显示error message
?
我尝试了类似下面的方法,但成功登录后它不会redirect
到homepage
,并且每当用户点击错误的凭据时也不会显示login 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>
您可以使用
window.location = "/home";
或者
this.props.history.push("/home");
go 任何一个。
或者
您可以 go 通过使用反应路由器以编程方式导航
好吧,我建议您使用this.props.history.replace('/home')
。 因为它会阻止用户向后导航。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.