【问题标题】:Is it worth using Redux-Saga long term?长期使用 Redux-Saga 是否值得?
【发布时间】:2022-07-19 04:52:53
【问题描述】:

据说从 2021 年 1 月 27 日起,像 Redux-Saga 这样强大而优雅的工具(Redux 副作用管理器)已被弃用,不再维护。

然而,尽管 Redux-Saga 的最后一个 1.1.3 版本已在近 3 年前发布,但仍有超过 100 万开发人员弱下载了这个 NPM 包。

如果我继续长期使用 Redux-Saga,即使它的作者不再维护它,我想请教大师建议我可能面临的利弊?

附言好消息!正如我在下面了解到的,Redux-Saga 库将继续正常工作并得到维护。 More

【问题讨论】:

    标签: redux version redux-saga saga


    【解决方案1】:

    我是 Redux 维护者。

    今天,我们特别推荐反对在几乎所有用例中使用 saga!

    要明确一点:Sagas 是一种很棒的电动工具,就像电锯一样。如果您真的需要这种能力,那么拥有该工具就很重要。但大多数时候,您不需要每天都使用电锯。

    我实际上只是就这个特定主题发表了演讲:

    Reactathon 2022: The Evolution of Redux Async Logic

    在那次演讲中,我描述了处理 Redux 应用程序中的异步逻辑和副作用的不同技术,并就您今天应该使用的内容给出了我们的一组建议。我将在此处粘贴最后一张幻灯片以供参考:

    我们今天的建议

    您要解决什么用例?

    数据获取

    • 使用 RTK 查询作为数据获取和缓存的默认方法
    • 如果 RTKQ 由于某种原因不完全适合,请使用createAsyncThunk
    • 只有在没有其他方法的情况下才回退到手写 thunk
    • 不要使用 sagas 或 observables 来获取数据!

    对动作/状态变化做出反应,异步工作流

    • 使用 the RTK "listener" middleware 作为默认值来响应商店更新和编写长时间运行的异步工作流
    • 仅在极少数情况下使用 sagas / observables,即侦听器无法很好地解决您的用例

    具有状态访问的逻辑

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

    【讨论】:

    • 真的谢谢你。知道了。然而,我的问题的第二部分是关于使用不再维护的技术的能力。与其说是用什么代替它。
    • @MaksymDudyk :saga 库运行良好,并且 is 仍在维护 - 事实上,“它仍在维护”在几天前的一个问题中得到确认:@987654323 @.
    • 谢谢。好消息!顺便说一句,我看到了你关于工作流程的报告。太棒了!
    猜你喜欢
    • 2017-02-22
    • 2020-10-22
    • 2019-06-15
    • 1970-01-01
    • 2018-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-12
    相关资源
    最近更新 更多