reactjs - React Typescript - Legge til egendefinert attributt


React Typescript tillater å legge til tilpassede data-* attributter. Men er det mulig å legge til tilpassede attributter som 'name' eller 'test' osv.?

<span name="I'm causing a type error" data-test="I'm Working"/>

Fet skrift lagt til av meg.

typefeil: Type '{ children: Element; name: string; data-test: string; }' kan ikke tildeles typen 'DetailedHTMLProps, HTMLSpanElement>'. Eiendom 'name' eksisterer ikke på typen 'DetailedHTMLProps, HTMLSpanElement>'. TS232

"react": "^16.7.0",
"typescript": "^3.2.4",

Svar #1

det finnes en annen måte... hoppe over den statiske kontrollen (TypeScript gjør ikke dynamisk)

{ 
  const allowedProps = {test: "not-data-attribute"}
  <span {...allowedProps}/>
}

Svar #2

i React 16+ er det mulig, se

Problemet er at TypeScript ikke visste om det (enda)

men du kan fortsatt legge til @ts-ignore for typekontroll

{ //@ts-ignore
  <span name="I'm causing a type error" data-test="I'm Working"/>
}

Relaterte artikler