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"/>
}
