【问题标题】:TypeScript - onChange event only accept ANYTypeScript - onChange 事件只接受 ANY
【发布时间】:2021-09-18 18:16:56
【问题描述】:

我正在学习 TS,我不明白为什么事件,当 onChange 执行时,只接受“任何”。

我尝试将事件更改为 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>
  );
};

【问题讨论】:

    标签: javascript typescript events onchange handle


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2021-11-26
      • 2021-12-30
      • 2023-03-13
      • 2016-01-20
      • 1970-01-01
      • 1970-01-01
      • 2020-06-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多