Open yqz0203 opened 1 year ago
问题 某些场景下,比如数据A变化后需要调用B数据接口去拉取数据,如果用useRequest发出请求,data会一直存在,即使请求失败了也会存在旧的data数据,导致业务逻辑出现异常。
这时就不得不本地存一个data状态,然后在onBefore和onSuccess来清理和保存返回的数据,这样的话使用useRequest的意义就不大了。
onBefore
onSuccess
期望 能否提供一个keepPreviousValue 之类的参数来控制依赖变化时是否清空原数据(SWR和useQuery都有类似的API)。
keepPreviousValue
复现DEMO: https://codesandbox.io/s/zealous-liskov-9h4h29?file=/src/App.js
这个提议好
参考 https://github.com/alibaba/hooks/issues/1345#issuecomment-985334849 目前看来是设计如此
问题 某些场景下,比如数据A变化后需要调用B数据接口去拉取数据,如果用useRequest发出请求,data会一直存在,即使请求失败了也会存在旧的data数据,导致业务逻辑出现异常。
这时就不得不本地存一个data状态,然后在
onBefore
和onSuccess
来清理和保存返回的数据,这样的话使用useRequest的意义就不大了。期望 能否提供一个
keepPreviousValue
之类的参数来控制依赖变化时是否清空原数据(SWR和useQuery都有类似的API)。复现DEMO: https://codesandbox.io/s/zealous-liskov-9h4h29?file=/src/App.js