我有一些使用第三方库中的组件的 React+TypeScript 代码。
<ThirdPartyComponent onSelect={(value: any) => {...}} />
eslint-typescript 认为这是一个问题:
出乎意料。指定不同的类型。eslint(@typescript-eslint/no-explicit-any)
选择处理程序的类型定义使用any
:
export interface ThirdPartySelectCallback extends React.EventHandler<any> {
(value: any, e: React.SyntheticEvent<{}>): void;
}
在不禁用 eslint 规则的情况下避免此问题的正确方法是什么?
将类型更改为string
给出不同的错误:
<ThirdPartyComponent onSelect={(value: string, e: React.SyntheticEvent<{}>) => {...}} />
类型 '(value: string, e: SyntheticEvent<{}, Event>) => void' 不可分配给类型 'ThirdPartySelectCallback'