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 });
};
我是学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 });
};