如何在React + Typescript中使用微数据?

时间:2019-06-08 13:11:58

标签: reactjs typescript microdata

当我将itemscope itemtype="http://schema.org/Product"添加到h1时,出现此错误:

  

键入'{children:string; itemscope:true; itemtype:字符串; }' 不是   可分配给类型   'DetailedHTMLProps ,   HTMLHeadingElement>”。属性“ itemscope”在类型上不存在   'DetailedHTMLProps ,   HTMLHeadingElement>'

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

如何在React + Typescript中使用微数据?

3 个答案:

答案 0 :(得分:2)

如果使用打字稿,您应该这样写

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

答案 1 :(得分:0)

不太优雅,但是可以用:

// 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>
    );
}

为我工作(打字稿3.4.5)。

答案 2 :(得分:0)

对于React,区分大小写。请注意:itemScopeitemType的拼写

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