类型 'void' 不可分配给类型 '((event: ChangeEvent<HTMLInputElement>) => void) React TypeScript
Type 'void' is not assignable to type '((event: ChangeEvent<HTMLInputElement>) => void) React TypeScript
我是 React Typescript 的初学者,我定义了一些道具是 .JS 文件,我想在 .tsx[=23 中使用=] 文件。但我在我的 TypeScript 行之一收到此错误:
<MyTextField style={{width:'60%'}} name='ActivationDate' type='date' defaultValue={values1.ActivationDate} onChange={handleChange('ActivationDate')}/>
Type 'void' is not assignable to type '((event: ChangeEvent<HTMLInputElement>) => void) | ((event: ChangeEvent<HTMLSelectElement>) => void) | ((event: ChangeEvent<HTMLTextAreaElement>) => void) | undefined'.
CodeSandbox 包含我的 JS 文件和 TSX 文件:
https://codesandbox.io/s/tsx-rj694
似乎是什么问题,我怎样才能正确地写这个?
我假设您没有将事件对象传递给 handleChange
方法。
这是您应该修改 onChange
事件处理程序的方式:
onChange={() => handleChange('ActivationDate')}
请注意,如果您需要在 onChange
调用中访问事件对象,则需要明确指定正确的类型。
onChange={handleChange}
并且当你定义函数时,
const handleChange = (event: ChangeEvent<HTMLInputElement>) => {
// do the rest here
}
onChange={(e: React.ChangeEvent<HTMLInputElement>): void => handleChange(e.target.value)}
我是 React Typescript 的初学者,我定义了一些道具是 .JS 文件,我想在 .tsx[=23 中使用=] 文件。但我在我的 TypeScript 行之一收到此错误:
<MyTextField style={{width:'60%'}} name='ActivationDate' type='date' defaultValue={values1.ActivationDate} onChange={handleChange('ActivationDate')}/>
Type 'void' is not assignable to type '((event: ChangeEvent<HTMLInputElement>) => void) | ((event: ChangeEvent<HTMLSelectElement>) => void) | ((event: ChangeEvent<HTMLTextAreaElement>) => void) | undefined'.
CodeSandbox 包含我的 JS 文件和 TSX 文件: https://codesandbox.io/s/tsx-rj694
似乎是什么问题,我怎样才能正确地写这个?
我假设您没有将事件对象传递给 handleChange
方法。
这是您应该修改 onChange
事件处理程序的方式:
onChange={() => handleChange('ActivationDate')}
请注意,如果您需要在 onChange
调用中访问事件对象,则需要明确指定正确的类型。
onChange={handleChange}
并且当你定义函数时,
const handleChange = (event: ChangeEvent<HTMLInputElement>) => {
// do the rest here
}
onChange={(e: React.ChangeEvent<HTMLInputElement>): void => handleChange(e.target.value)}