从长远来看,Redux-Saga值得使用吗?[已关闭]

xqkwcwgp  于 2023-02-12  发布在  其他
关注(0)|答案(1)|浏览(175)
    • 已关闭**。此问题为opinion-based。当前不接受答案。

上个月关门了。
社区在2天前审查了是否重新讨论此问题,并将其关闭:
原始关闭原因未解决已锁定。此问题及其答案为locked,因为此问题与主题无关,但具有历史意义。当前不接受新答案或交往。
Redux-Saga,一个Redux副作用管理器,据说已被弃用,不再维护。
然而,每周有超过一百万的开发者下载这个NPM包,尽管Redux-Saga的最后一个1.1.3版本是在大约3年前发布的。
如果我长期使用Redux-Saga,即使它的作者不再维护它,我可能会面临什么问题?

ojsjcaue

ojsjcaue1#

我是还原版的维护者。
今天,我们特别建议 * 反对 * 在几乎所有用例中使用sagas!
需要说明的是:传奇是一个很好的动力工具,就像电锯一样。如果你真的需要这种动力,那么拥有这种工具是很重要的。但是大多数时候,你并不需要每天都使用电锯。
我刚刚做了一个关于这个主题的演讲:
Reactathon 2022: The Evolution of Redux Async Logic
在那次演讲中,我描述了在Redux应用中处理异步逻辑和副作用的不同技术,并给出了我们今天应该使用的一系列建议。我将在最后一张幻灯片中粘贴以供参考:

我们今天的建议

您要解决的使用情形是什么?

数据提取

      • 使用RTK查询作为数据提取和缓存的默认方法**
  • 如果RTKQ由于某种原因不完全适合,请使用createAsyncThunk
  • 只有在其他方法都不起作用时才回退到手写thunk
    • 不要 * 使用传奇故事或观察数据获取!

响应操作/状态更改,异步工作流

  • 只有在侦听器不能很好地解决您的用例的非常罕见的情况下才使用sagas/observables

具有状态访问的逻辑

      • 将thunk用于复杂同步和中等异步逻辑**,包括访问getState和调度多个操作

相关问题