問題タブ [react-usememo]
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 - 依存関係がオブジェクトの場合、useCallback、useMemo、および React.memo を使用する方法は?
useMemo
その依存関係の 1 つがサーバーObject
から取得する場合があるため、オブジェクトのコンテンツが同じであってもuseMemo
、オブジェクト自体が毎回異なるため、サーバーからの各同期で何度も呼び出されます。もちろん と も同じuseCallback
ですReact.memo
。
どうすればこれを解決できますか?
新しい結果が以前の結果と同じ内容であるかどうかを手動で確認することを考えていました。そうであれば、以前のオブジェクト参照のままにしてください。
react-native - React.memo を使用してフラットリストで画像がリロードされないようにする方法
私の Redux ストアでは、アクティブな Report オブジェクトを保持しています。この複合オブジェクトには、id フィールドと uri フィールドを持つオブジェクトで構成される写真オブジェクトの配列があります。たとえば、Report オブジェクトは次のようになります。
これらのイメージ URI (ローカル ファイルではなく、firestore ストレージを指します) を次のように FlatList に読み込みます。
次に、この関数で renderItems を呼び出します。
最後に、AsyncImage コンポーネントのコードを次に示します。
これが私の写真削除機能です:
問題
アレイに新しい写真を追加すると、すべて問題ありません。ただし、配列から要素を削除すると、React.memo を使用しているにもかかわらず、一部の (すべてではない) 画像がリロードされます。
その理由を探るのに何時間も何日も費やしました。道に迷いました。この問題について何か助けていただければ幸いです
誰かが私のコードをもっと見る必要がある場合は、私に知らせてください。