に反応16を反応させるのが今custom DOM attributesすることができます、私は私の活字体のコードでこれを活用してみました:プロパティが「DetailedHTMLProps、HTMLDivElement>」タイプに存在しませんがので16
import * as React from 'react';
<div className="page" size="A4">
</div>
が、このエラーメッセージが表示されます。
をエラーTS2339: 'size'プロパティがタイプ 'DetailedHTMLProps < HTMLAttributes < HTMLDivElement>、HTMLDivElement>'に存在しません。
このthreadはmodule augmentation
を行うために提案するので、私はこの方法を試してみました:
import * as React from 'react';
declare module 'react' {
interface HTMLProps<T> {
size?:string;
}
}
同じエラーメッセージ。
最後に、私はまた、新しいHTMLタグとしてpage
を宣言しようとした:
declare global {
namespace JSX {
interface IntrinsicElements {
page: any
}
}
}
<page className="page" size="A4">
</page>
これは、エラーメッセージを取り除きますが、size
属性は完全に無視されコンパイルされたコードでは、と私はで終わります:
<page className="page">
</page>
理想的には、最後のものが私の好みの解決策です。 page
カスタムタグの横にsize
カスタム属性を使用したいと思います。
tsconfig.js
{
"compilerOptions": {
"outDir": "build/dist",
"module": "esnext",
"target": "es5",
"lib": ["es6", "dom"],
"sourceMap": true,
"allowJs": true,
"jsx": "react",
"moduleResolution": "node",
"rootDir": "src",
"forceConsistentCasingInFileNames": true,
"noImplicitReturns": true,
"noImplicitThis": true,
"noImplicitAny": true,
"strictNullChecks": true,
"suppressImplicitAnyIndexErrors": true,
"allowSyntheticDefaultImports": true,
"noUnusedLocals": false,
"noUnusedParameters": false,
"allowUnusedLabels": true,
"allowUnreachableCode": true
}
}
を使用することができます
size="A4"
を使用してデータサイズ? – bennygenelうわー...それは私のエラーを取り除き、コンパイルしました!何をあなたはこれを考えさせたのですか?これは、サイズのような "ダッシュでない"名前とは対照的に、なぜ機能しますか?私が検証できるように答えとして書くことができますか? –