Asynchronicity dalam Kaedah setState() React
Kaedah setState() React secara amnya tidak segerak, membayangkan bahawa apabila anda console.log keadaan betul selepas memanggilnya, ia mungkin belum dikemas kini.
Dalam kod yang disediakan coretan, anda mengira jumlah keseluruhan dengan betul dan menyerahkannya kepada kaedah setState() untuk mengemas kini keadaan dealersOverallTotal. Walau bagaimanapun, kod ini mencatatkan this.state.dealersOverallTotal serta-merta selepas itu, yang mungkin mendedahkan nilai yang salah kerana keadaan tidak mempunyai masa yang mencukupi untuk mengemas kini.
Untuk memastikan anda log nilai keadaan yang dikemas kini, letakkan log dalam fungsi panggil balik setState(), yang dilaksanakan selepas perubahan keadaan selesai:
this.setState({ dealersOverallTotal: total }, () => { console.log(this.state.dealersOverallTotal, 'dealersOverallTotal1'); });
Pengubahsuaian ini memastikan bahawa pernyataan console.log dilaksanakan hanya selepas keadaan dikemas kini, justeru memaparkan jumlah yang betul.
Atas ialah kandungan terperinci Mengapa `console.log` Tidak Menunjukkan Keadaan Dikemaskini Selepas `setState()` dalam React?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!