handleChange和handlessubmit的事件类型应该是什么?



这是我的codesandbox链接,https://codesandbox.io/s/vigorous-banach-gf35mn?file=/src/App.tsx: 643 - 655

我没有得到适当的事件类型,这是我的尝试:

const handleChange = (
event: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement>
) => {
const { name, value } = event.target as
| HTMLInputElement
| HTMLTextAreaElement;
setNewTask((prev) => ({ ...prev, id: Date.now(), [name]: value }));
};
const handleSubmit = (event: React.FormEventHandler<HTMLFormElement>) => {
event.preventDefault();
if (!newTask.title) return;
setAllTasks((prev) => [newTask, ...prev]);
setNewTask({ id: 0, title: "", description: "" });
};

您只需将event类型从ChangeEventHandler更改为ChangeEvent因为ChangeEventHandler用于整个Handler函数。但是对于event对象,类型是ChangeEvent

错误信息就是这么说的!

修改后的代码沙箱

最新更新