在 React 18 中,JSX.IntrinsicElements 的类型定义适用于 Web 组件。但升级到19后,即使我可以访问全局类型,下面的类型也不起作用。我该如何修复类型定义以应用类型?
declare global {
declare class CustomComponent extends HTMLElement {
}
interface HTMLElementTagNameMap {
"custom-component": CustomComponent;
}
namespace JSX {
interface IntrinsicElements {
"custom-compoenent": React.DetailedHTMLProps<React.HTMLAttributes<CustomComponent>, CustomComponent>;
}
}
}
我解决了问题。因为 namaspace JSX 迁移到了 React。上面的代码应该这样改变。
declare module 'react' {
namespace JSX {
interface IntrinsicElements {
'custom-component': React.DetailedHTMLProps<React.HTMLAttributes<CustomComponent>, CustomComponent>;
}
}
}