我是React Typescript的初学者,并且我已经定义了一些道具,这些道具是我要在 .tsx 文件中使用的 .JS 文件。但是我在我的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
似乎是问题所在,我该如何正确编写?
答案 0 :(得分:5)
onChange={(e: React.ChangeEvent<HTMLInputElement>): void => handleChange(e.target.value)}
答案 1 :(得分:2)
我假设您没有将事件对象传递到handleChange
方法中。
这是修改onChange
事件处理程序的方式:
onChange={() => handleChange('ActivationDate')}
答案 2 :(得分:0)
const handleChange = (evt: React.ChangeEvent<HTMLInputElement>) => {console.log(evt?.target.value);
};
<input type="radio" name="Name" checked={true} value="test" onChange={handleChange} />