問題タブ [use-effect]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - ReactJS: useEffect でのフェッチ時に最大更新深度を超えたエラー
React 16.8 では、useReducer、useContext フックを使用してプロジェクトを実装し、Redux と同様のグローバル状態管理システムを作成しました。
ビューで、useEffect でデータをフェッチしようとすると、Maximum update depth エラーが発生します。
Facebook React - Hooks-FAQのすべての例を既に試しましたが、問題を解決できません。
私のpackage.jsonはそのようなものです:
これが私のコード例です:
ここにView.jsがあります
この問題を本当に解決したい場合は、保存サイクルの他のファイルを見てください。
useView.js のフックは次のとおりです。
ディスパッチする viewReducer.js は次のとおりです。
これは、アプリ内のすべてのコンポーネントを提供し、状態を渡すための StoreProvider です。
これは、さまざまなビューの多くのレデューサーを複製するためのレデューサー index.js です。
多くのファイルについて申し訳ありませんが、状況を説明する他の方法はありません。Redux を使用していた人は、このアプローチを理解できます。ページの最初のレンダリングでデータを取得しようとするまで、状態 => アクション => ディスパッチ システムに問題はありません (この例では、View と呼びます)。
古典的なlet didCancel = false
アプローチは機能しませんでした。状態を新しく取得したデータと比較すると、問題は解決しました。しかし、読み込みを追加すると、useReducer がトリガーされ、ページが再レンダリングされるため、無限ループが発生します。
UseRef と clearInterval はそれを妨げず、次のエラーが発生します。
reactjs - フックを使用して親の状態が更新されても、子コンポーネントが再レンダリングされない
App
フック付きの機能コンポーネントがあり、子コンポーネントが状態の変化、特に への呼び出しで再レンダリングされるようにしよuseEffect
うとしています。ただし、変更時にコンポーネントが再レンダリングされず、その理由がわかりません。(注: 両方の非同期関数と期待どおりに動作し、正しいデータを取得しています。)<Redirect>
setUserInSystem
userInSystem
userInSystem
getUserInfo
getUserByWorkEmail