reactjs - Hvordan bruke Microdata i React+Typescript?


Når jeg legger til itemscope itemtype="http://schema.org/Product" i h1, får jeg denne feilen:

Type '{ children: string; itemscope: true; itemtype: string; }' kan ikke tildeles typen 'DetailedHTMLProps, HTMLHeadingElement>'. Egenskapen 'itemscope' finnes ikke på typen 'DetailedHTMLProps, HTMLHeadingElement>'

<h1 itemscope itemtype="http://schema.org/Product">Amasia</h1>

Hvordan bruke Microdata i React+Typescript?

Svar #1

For React er det store og små bokstaver som gjelder. Vær oppmerksom på stavemåten til: itemScope og itemType

<div itemScope itemType={"http://schema.org/Product"}>{...}</div>

Svar #2

Ikke veldig elegant, men dette fungerer:

// foo.d.ts
declare namespace React {
    interface HTMLAttributes<T> {
        itemscope?: boolean;
        itemtype?: string;
    }
}
// app.tsx
function foo(): JSX.Element {
    return (
        <h1 itemscope itemtype="http://schema.org/Product">
            Amasia
        </h1>
    );
}

Fungerer for meg (Typescript 3.4.5).

Relaterte artikler