Definitelytyped: [@ types / react]:React.Fragmentには構成または呼び出しの署名がありません

作成日 2017年12月03日  ·  3コメント  ·  ソース: DefinitelyTyped/DefinitelyTyped

  • [x] @types/reactパッケージを使用しようとしましたが、問題が発生しました。
  • [x] tscの最新の安定バージョンを使用してみました。 https://www.npmjs.com/package/typescript
  • [x] StackOverflowに不適切な質問があります。 (そこで適切な質問をしてください)。
  • [x] [メンション](https://github.com/blog/821-mention-somebody-they-re-notified)著者( index.d.ts Definitions by:index.d.ts )応答。

    • 著者: @ uniqueiniquity@ tkrotoff@ vsiao

#21146でReact.Fragmentの適切なタイプについていくつかの議論がありましたが、 symbol | numberFragmentの内部Reactタイプを正確に反映している可能性がありますが、 React.Fragment防ぎますTSX要素として使用されることから。

<React.Fragment> // error here: React.Fragment does not have any construct or call signatures
  <div>Child 1</div>
  <div>Child 2</div>
</React.Fragment>

<></>構文を使用してフラグメントをレンダリングできることはわかっていますが、Reactのドキュメントには、これは単に<React.Fragment></React.Fragment>糖分を減らし、フラグメントにキーを追加する唯一の方法であると記載されています

したがって、 React.FragmentのタイプをReact.ComponentType<{}>に近いものに変更する必要があると思います。これにより、 keychildren小道具が得られます。

人々がこの提案に同意すれば、私はPRを開くことができます。

最も参考になるコメント

@uniqueiniquityいいですね。 TSで修正できない/実用的でない場合は、ブランチを準備できます。

全てのコメント3件

これをキャッチしてくれてありがとう、@ jgoz!
React.Fragmentのタイプを変更してコンパイラの動作をハックするよりも、TypeScript側でこれを修正する方が良いアプローチかもしれないと思います。
これを調べて、それが最善のアプローチであるかどうかを確認します。

@uniqueiniquityいいですね。 TSで修正できない/実用的でない場合は、ブランチを準備できます。

@jgoz先に進み、PRを開きます。 ここでいくつか議論した後、当面は正しいアプローチを取っているようです。

このページは役に立ちましたか?
0 / 5 - 0 評価