最佳答案
假设我有3个输入:rate、sendAmount和receiveAmount。我把这3个输入放到useEffect上。规则如下:
receiveAmount = sendAmount * rate
sendAmount = receiveAmount / rate
receiveAmount = sendAmount * rate
当sendAmount > 0
或我计算sendAmount = receiveAmount / rate
当receiveAmount > 0
下面是代码和框https://codesandbox.io/s/pkl6vn7x6j来演示这个问题。
是否有一种方法可以比较oldValues
和newValues
,就像在componentDidUpdate
上一样,而不是为这种情况创建3个处理程序?
谢谢
usePrevious
https://codesandbox.io/s/30n01w2r06 < / p >
在这种情况下,我不能使用多个useEffect
,因为每个更改都会导致相同的网络调用。这就是为什么我也使用changeCount
来跟踪更改。这个changeCount
也有助于从本地跟踪更改,所以我可以防止不必要的网络调用,因为来自服务器的更改。