TypeScript - onChange 事件只接受任何

TypeScript - onChange event only accept ANY

我是学TS的,不明白为什么事件,onChange执行的时候,只接受"any"。

我尝试将事件更改为等于React.ChangeEventHandler,但仍然无效:

  const onNameChange = (e: React.ChangeEventHandler<HTMLInputElement>) => {
    setField({ ...field, name: e.currentTarget.value });
  };

我想,不知何故,我的事件需要等于我的界面“CountProps”。关注完整代码:

import React, { useState } from "react";

interface FieldProps {
  name: string;
}

export const TextField: React.FC = () => {
  const [field, setField] = useState<FieldProps>({ name: "" });

  console.log(field);

  const onNameChange = (e: any) => {
    setField({ ...field, name: e.currentTarget.value });
  };

  return (
    <div>
      <input
        type="text"
        onChange={onNameChange}
        name="name"
        value={field.name}
      />
    </div>
  );
};

e 不是处理程序,而是事件。 onNameChange 是处理程序

  const onNameChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {
    setField({ ...field, name: e.currentTarget.value });
  };