問題タブ [use-ref]
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 - サスペンス データ フェッチでの UseRef
実験的な新しい React 機能Suspense for data fetching を使用しようとしています。
useApi
これは、(サスペンスを正しく理解している場合)fetch
呼び出しの結果を返すか、サスペンダーの約束をスローする単純なフックです。(文書化された例をわずかに変更)
私はこのフックを次のように単純に使用しています:
それは決して解決しません。
useRef
問題は、それが想定どおりに機能していないことだと思います。
ref をランダムな値で初期化すると、その値は保持されず、代わりに別のランダムな値で再初期化されます。
suspender
をスローすると、useRef
すべての呼び出しで が再初期化されるという奇妙なことがあります。
その行を削除するとuseRef
意図したとおりに機能しますが、明らかにサスペンスは機能しません。
私がそれを機能させる別の方法は、次のように、React の外部である種のカスタム キャッシングを使用する場合です。
これでも機能しますが、コンポーネント固有のデータをキャッシュするという点で React 自体が提供するものを使用したいと思います。
useRef
サスペンスでの作業方法について、何かが欠けていますか?
reactjs - useEffect から取得したデータをコンポーネント ツリーに渡す方法 (未定義)
検索コンポーネントで特定の計算を行いたい。これを行うには、Header コンポーネントで取得した buttonSearchRefOffsetLeftValue を Search コンポーネントに渡す必要があります。ヘッダーで目的の値を取得します。ただし、検索コンポーネントでは常に未定義になります。この振る舞いが理解できません。