我正在使用 reactJS 登录表单。我想在配置文件中输入电子邮件和密码的值。例如,电子邮件应为:xxx@gmail.com,密码应为:密码。我能够设置 this.state.email 和 this.state.passsword 值,但我无法弄清楚如何将这些值与配置文件中的默认值进行比较。有人可以帮我解决这个问题吗?谢谢。
import React from "react";
import Header from '../../components/header';
import '../../assets/css/style.css';
import { Link } from 'react-router'
function validate(email, password) {
return {
email: email.length === 0,
password: password.length === 0,
};
}
class LoginForm extends React.Component {
constructor() {
super();
this.state = {
email: '',
password: '',
everFocusedEmail: false,
everFocusedPassword: false,
};
}
handleEmailChange = (evt) => {
this.setState({ email: evt.target.value });
}
handlePasswordChange = (evt) => {
this.setState({ password: evt.target.value });
}
handleSubmit = (evt) => {
if (!this.canBeSubmitted()) {
evt.preventDefault();
return;
}
}
canBeSubmitted() {
const errors = validate(this.state.email, this.state.password);
const isDisabled = Object.keys(errors).some(x => errors[x]);
return !isDisabled;
}
render() {
const errors = validate(this.state.email, this.state.password);
const isDisabled = Object.keys(errors).some(x => errors[x]);
return (
<div>
<Header/>
<div className="container">
<div className="row">
<div className="col-md-4 col-md-offset-4 vertical-center col-sm-8 col-sm-offset-2">
<div className="card loginFormDiv">
<h3>Login</h3>
<form name="loginForm" onSubmit={this.handleSubmit}>
<div className="loginForm">
<div className="input-group formInputDiv">
<span className="input-group-addon">
<span className="glyphicon glyphicon-envelope"></span>
</span>
<input type="text" className={`form-control loginForm ${errors.email ? "error" : ""}`} value={this.state.email}
onChange={this.handleEmailChange} placeholder="Enter your email"></input>
</div>
<div className="input-group formInputDiv">
<span className="input-group-addon">
<span className="glyphicon glyphicon-filter"></span>
</span>
<input type="password" className={`form-control loginForm ${errors.password ? "error" : ""}`}
onChange={this.handlePasswordChange} placeholder="Enter your password"></input>
</div>
<div className="text-right">
<Link to={'/dashboard'}><button type="submit" className="btn btn-primary loginBtn" disabled={isDisabled}>Log In</button></Link>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
);
}
}
export default LoginForm;