【发布时间】:2021-01-25 19:50:25
【问题描述】:
今天我只是想用功能组件和使用 React 的 useState 钩子创建一个用于登录/注册的表单。但是,我遇到了这个问题。如果有人可以提供帮助,将不胜感激。我试图寻找一个原因,然而,它无济于事。谢谢。
- 只要我在电子邮件字段中提供输入,我就会收到警告。 ''警告:组件正在将未定义类型的受控输入更改为不受控。输入元素不应从受控切换到不受控(反之亦然)。 '' 我不知道我的代码哪里出了问题。
function Login(){
const [state, setState] = useState({
email:'',
password:'',
})
const handleChange = e => {
setState({ [e.target.name]: e.target.value })
}
const handleSubmit = e => {
e.preventDefault();
var email = state.email;
var password = state.password;
// Firebase requires passwords to be of length 6 or above
if (password.length < 6) {
alert("Password must of length 6 or more.");
} else {
fire.auth().createUserWithEmailAndPassword(email, password);
alert("Signed Up Successfully!");
}
}
return(
<>
<Navbar/>
<div>
<form>
<input name="email" value={state.email} onChange={handleChange} placeholder="email"></input>
<input name="password" value={state.password} onChange={handleChange} placeholder="password"></input>
<button type="submit" onClick={handleSubmit}>Sign Up!</button>
<button type="submit">Login!</button>
</form>
</div>
</>
);
}
【问题讨论】:
标签: javascript reactjs