Diyelim ki 3 girişim var: rate, sendAmount ve receAmount. Bu 3 girişi useEffect difing params üzerine koydum. Kurallar:
- SendAmount değiştiyse, hesaplıyorum
receiveAmount = sendAmount * rate
- ReceAmount değiştiyse, hesaplıyorum
sendAmount = receiveAmount / rate
- Oran değiştiğinde
receiveAmount = sendAmount * rate
ne zaman hesaplıyorumsendAmount > 0
ya dasendAmount = receiveAmount / rate
ne zaman hesaplıyorumreceiveAmount > 0
Sorunu göstermek için kod ve https://codesandbox.io/s/pkl6vn7x6j kodları .
Bu durumda 3 işleyici yapmak yerine oldValues
ve newValues
benzerlerini karşılaştırmanın bir yolu var mı componentDidUpdate
?
Teşekkürler
İşte https://codesandbox.io/s/30n01w2r06 ile son çözümümusePrevious
Bu durumda, useEffect
her değişiklik aynı ağ çağrısına yol açtığı için çoklu kullanamıyorum . Bu yüzden changeCount
değişikliği izlemek için de kullanıyorum . Bu changeCount
aynı zamanda yalnızca yerel değişikliklerin izlenmesine yardımcı olur, böylece sunucudaki değişiklikler nedeniyle gereksiz ağ çağrısını önleyebilirim.