検索

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

条件付きフックを使用せずにコンポーネントで以前のレンダリング エラーを超えるレンダリングが発生する

ファイルアップロード用のクリック可能なリンクをレンダリングする次のコンポーネントがあります

リーリー

このコンポーネントを使用してファイルをアップロードするたびに、反応エラーが発生します。 前回のレンダリング時よりも多くのフックがレンダリングされました。 。 React は、フックの順序が次のように変更されたことを示します

リーリー

コードを見ても、なぜこのエラーが発生するのか理解できません。 React は、useState を呼び出すコンポーネントの最初の行がエラーの原因であると言っていますが、それは私には意味がありません。条件なしでリアクティブ フックを呼び出すとこの問題が発生し、このエラーをスローするコンポーネントの最初の行がフックが変更された順序と一致しません。

私はreact 18.2.0、typescript 4.9.5を使用しています

P粉331849987P粉331849987447日前598

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

  • P粉148434742

    P粉1484347422023-09-10 20:47:31

    問題はコンポーネントの呼び出し方法にあることが判明しました。親コンポーネントのレンダリング FileUploadLink は次のようになります

    リーリー

    修正方法は、コンポーネントをタグで囲むことです。つまり、

    リーリー

    返事
    0
  • キャンセル返事