[英]How to render a new component after successfull login using React
I've made a very simple Login
component for learning purpose.为了学习目的,我制作了一个非常简单的
Login
组件。 If the user enters the correct username and password he should see the Homepage
.如果用户输入正确的用户名和密码,他应该会看到
Homepage
。 Login mechanism is working fine.登录机制运行良好。 I'm not able to redirect to Homepage after successful login.
成功登录后,我无法重定向到主页。
users.json用户.json
[
{
"ID": 1,
"Username": "mike",
"Password": "User1Password"
},
{
"ID": 2,
"Username": "robert",
"Password": "User2Password"
}
]
Login.js登录.js
import React, { Component } from 'react';
...
import UserProfiles from './users.json';
import Home from '../Home/Home';
class Login extends Component {
constructor(props) {
super(props);
this.state = {
username: '',
password: '',
loginStatus: 'not logged in',
};
}
...
handleSubmit = (event) => {
var found = false;
event.preventDefault();
UserProfiles.forEach((user) => {
if (user.Username == this.state.username) {
found = true;
}
});
if (found) {
this.setState({
loginStatus: 'Successfully logged in!',
});
} else {
this.setState({
loginStatus: 'Login failed!',
});
}
};
render() {
return (
<div className="login-form">
<Form onSubmit={this.handleSubmit}>
<FormGroup>
//USERNAME AND PASSWORD FIELDS
</FormGroup>
<Button type="submit">Submit</Button>
</Form>
</div>
);
}
}
export default Login;
Home.js is very simple as of now: Home.js目前非常简单:
import React, { Component } from 'react';
class Home extends Component {
constructor(props) {
super(props);
}
render() {
return (
<div>
<h1>Hello world! Welcome to homepage</h1>
</div>
);
}
}
export default Home;
I'm new to React.我是 React 的新手。 Please pitch in. Here is the stackblitz .
请参与。这是stackblitz 。
你需要了解 React Router。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.