検索

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

最大更新深度を超えました。 React は、無限ループを防ぐためにネストされた更新の数を制限します。質問

私は、react-table ライブラリを使用しようとしていますが、この問題に遭遇し、それを修正する方法がわかりません。

キャッチされないエラー: 更新の最大深さを超えました。これは、コンポーネントがcomponentWillUpdateまたはcomponentDidUpdateでsetStateを繰り返し呼び出すと発生する可能性があります。 React は、無限ループを防ぐためにネストされた更新の数を制限します。

リーリー

私はこれを試しています:

ああああ

P粉218775965P粉218775965353日前436

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

  • P粉465675962

    P粉4656759622024-02-26 09:24:36

    サーバーから「データ」を取得するだけでなく、その変数のキャッシュを介して再レンダリングするため、Effect では無限ループに陥ります。 useEffect の依存関係リストから「データ」を削除します:

    useEffect(() => {
        const getProducts = async () => {
          const 応答 = GetProducts() を待ちます。
          setData(response.products);
        };
    
        getProducts();
      }, []); // 'data' 依存関係を削除します
    ###お役に立てれば。

    返事
    0
  • P粉674757114

    P粉6747571142024-02-26 00:44:31

    次のコードを追加することでこの問題を解決しました:

    const table = useTable({
      列、
      データ、
      autoResetHiddenColumns: false, // <-- stops the rerendering
      autoResetSortBy: false, //  <-- stops the rerendering
    });

    返事
    0
  • キャンセル返事