Komponen Berfungsi Bertindak balas - mengemas kini keadaan menyebabkan keseluruhan halaman dipaparkan semula
P粉180844619
2023-08-17 14:19:48
<p>Terima kasih banyak atas bantuan anda terlebih dahulu.
Saya tidak pasti mengapa apabila saya mengemas kini <kod>percentageDone</code> keadaan dalam <code>loadDataFunction()</code> ia mengemas kini <code>RenderData1Component</code> jangan jadi begini. Bukankah ia sepatutnya hanya dikemas kini apabila data1 berubah? </p>
<p>Saya mempunyai sekeping kod seperti ini. </p>
<pre class="brush:php;toolbar:false;">const [loading, setLoading] = useState(true);
const [data1, setData1] = useState(null);
const [percentageDone, setPercentageDone] = useState(0);
LoadDataFunction(){
// Panggil berbilang apis (katakan terdapat 10) dalam satu janji dan panggil setPercentageDone() apabila setiap api selesai.
}
useEffect( () ==> {
LoadDataFunction()
},[])
useEffect( () ==> {
jika (keadaan berpuas hati) {
LoadDataFunction() // Muat semula data terkini
}
}, [syarat])
kembali (
memuatkan peratusanSelesai
: <RenderData1Component data={data1}>
)</pra>
<p>Saya hanya mahu mengemas kini <kod><RenderData1Component data={data1}></code> apabila <kod>data1</kod> /kod>. Tetapi apabila saya mengemas kini <code>setPercentageDone()</code>, ia juga mencetuskan pemaparan semula <code><RenderData1Component data={data1}></code>. </p>
Saya tidak pasti, tetapi ini mungkin membantu anda.
Mungkin anda memberikan beberapa syarat, yang boleh menyebabkan masalah. Sila semak ini juga.