javascript - 在 TypeScript 中覆盖第三方类型定义
我的疑问是如何仅使用 d.ts 文件覆盖第三方包(在我的情况下是 @mui)提供的类型定义
使用案例:
我想指出所有按钮组件的 id 属性是必需的,这样任何使用按钮的开发者都将知道需要提供一个 Id
我尝试过一个 *d.ts 文件,内容大概是这样的:
declare module '@mui/material/ButtonBase' {
interface ExtendButtonBaseTypeMap<M extends OverridableTypeMap> {
props: { id: string }
defaultComponent: M['defaultComponent']
}
}
但是没有用 :(
关于 chakra-ui,我知道这样是可行的:
declare module React {
interface ButtonHTMLAttributes {
id: string
}
}