機能コンポーネントの反応 - 状態を更新すると、ページ全体が再レンダリングされます。
P粉180844619
P粉180844619 2023-08-17 14:19:48
0
1
401
<p>この度は大変お世話になり、誠にありがとうございます。 <code>loadDataFunction()</code> の <code>percentageDone</code> 状態を更新すると、実際には更新されるはずなのに <code>RenderData1Component</code> が更新される理由がわかりません。こんなことにはならないよ。 data1が変更された場合にのみ更新するべきではないでしょうか? </p> <p>このようなコードがあります。 </p> <pre class="brush:php;toolbar:false;">const [loading, setLoading] = useState(true); const [data1, setData1] = useState(null); const [percentageDone, setPercentageDone] = useState(0); LoadDataFunction(){ // 1 つの Promise で複数の API (10 個あるとしましょう) を呼び出し、各 API が完了したときに setPercentageDone() を呼び出します。 } useEffect( () => { ロードデータ関数() },[]) useEffect( () => { if (条件が満たされた場合) { LoadDataFunction() // 最新データを再読み込みします } }、 [状態]) 戻る ( 読み込み中?パーセント完了 : <RenderData1Component データ={data1}> )</pre> <p> <code>percentageDone< ではなく、<code>data1</code> 状態が更新されたときに <code><RenderData1Component data={data1}></code> を更新したいだけです。 /コード>。ただし、<code>setPercentageDone()</code> を更新すると、<code><RenderData1Component data={data1}></code> の再レンダリングもトリガーされます。 </p>
P粉180844619
P粉180844619

全員に返信(1)
P粉904405941

よくわかりませんが、これが役に立つかもしれません。

リーリー

複数の条件を指定している可能性があり、問題が発生する可能性があります。こちらもぜひチェックしてみてください。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート