【发布时间】:2021-11-04 02:05:23
【问题描述】:
在React documentation和各种项目中的一堆例子中,表单提交都是这样处理的:
const FormComponent = () => {
const [val, setVal] = useState('');
const onChange = (e) => {
setVal(e.target.value);
}
const onSubmit = (e) => {
e.preventDefault();
console.log(val);
// handle submit logic using "val"
}
return (
<form onSubmit={onSubmit}>
<input type="text" value={val} onChange={onChange} />
<input type="submit" value="Submit" />
</form>
)
}
虽然在其他地方我见过这样的代码
const FormComponent = () => {
const [val, setVal] = useState('');
const onChange = (e) => {
setVal(e.target.value);
}
const onSubmit = () => {
console.log(val)
// handle submit logic using "val"
}
return (
<div>
<input type="text" value={val} onChange={onChange} />
<button onClick={onSubmit}>Submit</button>
</div>
)
}
他们似乎都实现了完全相同的目标。哪种方法更好?
【问题讨论】:
-
您是否尝试在后一个示例中使用 Enter 键提交表单? :)