検索

ホームページ  >  に質問  >  本文

グローバル JSX 名前空間が非推奨になった場合、JSX.Element の戻り値の型に代わる正しいものは何ですか?

@types/react では、グローバル JSX 名前空間が非推奨になりました:

リーリー

ESLint の 非推奨/非推奨 ルール (プラグイン eslint-plugin-deprecation から) を有効にしたため、次のような関数コンポーネントの戻り値の型に関するエラーが表示されます。

リーリー

グローバル JSX 名前空間は非推奨になりましたが、この場合、JSX.Element を置き換える正しい戻り値の型は何でしょうか?

非推奨メッセージに記載されているのは React.JSX.Element ですか:

リーリー

または ReactElement は次のようになります:

リーリー

さらに良い方法としては、React.FC を使用して関数コンポーネントを宣言し、次のように TypeScript に戻り値の型を推測させることです。 リーリー


P粉404539732P粉404539732395日前737

全員に返信(2)返信します

  • P粉465287592

    P粉4652875922023-10-27 11:55:24

    #React.JSX を使用します。


    または

    "react": から JSX をインポートします リーリー

    返事
    0
  • P粉521748211

    P粉5217482112023-10-27 00:02:44

    React.ReactElement を直接使用します (より正確には、React.ReactElement | null):

    リーリー

    これはまさにこれです (推奨されなくなりました) React.FC 適用:

    リーリー

    これは JSXElementConstructor :

    でもあります リーリー

    そうは言っても、関数コンポーネントの戻り値の型の入力を強制するルールがない限り、簡略化するためにそれを無視できます。

    リーリー

    どうやら、この関数は何でも返せるようになりました。Typescript は文句を言いません...fb/cra#8177 の場合のように、それを JSX テンプレートの関数コンポーネントとして使用しようとしない限り、 :

    リーリー

    返事
    0
  • キャンセル返事