我正在尝试做一个简单的表单任务来尝试学习 React Forms,但我很难理解它的语法。
当我尝试以下代码时,它没有问题:
import React, { useState } from "react";
function InputForm() {
const [emailValue, setEmailValue] = useState("");
console.log(emailValue);
return (
<>
<form>
<label>
Email:
<input
type="text"
name="input"
value={emailValue}
placeholder="type your email"
onChange={(e) => setEmailValue(e.target.value)}
/>
</label>
<br />
<br />
<button type="submit" name="test">
Submit Email
</button>
</form>
</>
);
}
export default InputForm;
但是,当我尝试清理它以使返回中没有逻辑时,在定义我的 handleChange 方法时出现错误。
import React, { useState } from "react";
function InputForm() {
const [emailValue, setEmailValue] = useState("");
handleChange(e) {
const { name, value } = e.target;
setEmailValue({ [name]: value });
};
console.log(emailValue);
return (
<>
<form>
<label>
Email:
<input
type="text"
name="input"
value={emailValue}
placeholder="type your email"
onChange={handleChange}
/>
</label>
<br />
<br />
<button type="submit" name="test">
Submit Email
</button>
</form>
</>
);
}
export default InputForm;
有人可以解释为什么这样做不起作用吗?我得到的错误是 React 在 handleChange(e)... 之后不期望 { 括号...所以控制台错误消息在试图弄清楚为什么它不接受它时是没有用的。
谢谢!