reactjs - React 19 typescript lägg till typeof web component


I React 18 fungerade typdefinitionerna för JSX.IntrinsicElements bra för webbkomponenter. Men efter uppgraderingen till React 19 slutade typerna fungera, även om jag fortfarande kan komma åt typerna globalt. Hur kan jag fixa typdefinitionerna för att få dem att fungera igen?

declare global {
  declare class CustomComponent extends HTMLElement {
  }
  interface HTMLElementTagNameMap {
    "custom-component": CustomComponent;
  }
  namespace JSX {
    interface IntrinsicElements {
      "custom-compoenent": React.DetailedHTMLProps<React.HTMLAttributes<CustomComponent>, CustomComponent>;
    }
  }
}

Svar #1

Jag löste problemet eftersom namnområdet JSX flyttades till React. Ovanstående kod bör ändras så här.

declare module 'react' {
  namespace JSX {
    interface IntrinsicElements {
      'custom-component': React.DetailedHTMLProps<React.HTMLAttributes<CustomComponent>, CustomComponent>;
    }
  }
}