alibaba / hooks

A high-quality & reliable React Hooks library. https://ahooks.pages.dev/
https://ahooks.js.org/
MIT License
13.91k stars 2.69k forks source link

[useRequest] refreshDeps 变化时 data 未被清空 #2101

Open yqz0203 opened 1 year ago

yqz0203 commented 1 year ago

问题 某些场景下,比如数据A变化后需要调用B数据接口去拉取数据,如果用useRequest发出请求,data会一直存在,即使请求失败了也会存在旧的data数据,导致业务逻辑出现异常。

这时就不得不本地存一个data状态,然后在onBeforeonSuccess来清理和保存返回的数据,这样的话使用useRequest的意义就不大了。

期望 能否提供一个keepPreviousValue 之类的参数来控制依赖变化时是否清空原数据(SWR和useQuery都有类似的API)。

复现DEMO: https://codesandbox.io/s/zealous-liskov-9h4h29?file=/src/App.js

51wangping commented 1 year ago

这个提议好

kongmoumou commented 1 year ago

参考 https://github.com/alibaba/hooks/issues/1345#issuecomment-985334849 目前看来是设计如此