小编rwi*_*ang的帖子

如何在React Hooks useEffect上比较oldValues和newValues?

假设我有3个输入:rate,sendAmount和receiveAmount.我把3个输入放在useEffect diffing params上.规则是:

  • 如果sendAmount发生了变化,我会计算出来 receiveAmount = sendAmount * rate
  • 如果receiveAmount发生了变化,我会计算出来 sendAmount = receiveAmount / rate
  • 如果费率改变,我计算receiveAmount = sendAmount * rate何时sendAmount > 0或我计算sendAmount = receiveAmount / rate何时receiveAmount > 0

这是代码框https://codesandbox.io/s/pkl6vn7x6j来演示这个问题.

有没有办法比较oldValuesnewValues喜欢,componentDidUpdate而不是为这种情况下制作3个处理程序?

谢谢


这是我的最终解决方案usePrevious https://codesandbox.io/s/30n01w2r06

在这种情况下,我不能使用多个useEffect因为每个更改导致相同的网络调用.这也是我也用它changeCount来跟踪变化的原因.这changeCount也有助于跟踪仅来自本地的更改,因此我可以防止因服务器更改而进行不必要的网络调用.

reactjs react-hooks

77
推荐指数
8
解决办法
4万
查看次数

标签 统计

react-hooks ×1

reactjs ×1