我还是相当新的Redux没有使用Redux Sagas,所以我不确定这是开始使用Sagas的好情况。我有一个调用Web API的Redux操作,在获得结果后,可能需要从其他1-20 API中获取数据。
我的第一反应是用异步等待做一个大的Redux动作,但它确实感觉有更好的方法。 Redux Saga是我需要研究的吗?
答案 0 :(得分:3)
大多数项目都使用Redux Thunk来组织副作用。从原则上讲,它可以带来良好的效果:易于阅读和测试代码(但您仍然需要模拟网络请求)。但是就动作创建者(或重击者)的逻辑而言,这一切都是公平的。不幸的是,对于不止几个功能,代码变得更加难以阅读,这使得测试变得更加困难。
在这种情况下,Redux Saga进行了救援。 Redux Saga是组织副作用的另一种方法。无需调度Redux Thunk处理的功能,而是创建传奇并编写事件流处理的所有逻辑。与在您分发它们时执行的重击不同,在应用启动后,sagas在后台运行。 Sagas会观察商店分发的所有操作并决定如何处理。
这时,我们可以分配sagas的三个主要好处:
如果您想知道如何将传奇付诸实践,请查看我们的文章:https://blog.s-pro.io/use-redux-saga/,您将在其中找到代码示例以及更多内容!
答案 1 :(得分:2)
您可能想查看Redux Thunk。这是异步Redux操作的一种非常明智且易于理解的方法。
答案 2 :(得分:0)
与redux thunk相比,sagas给你带来了一些好处:
如果你发现自己并不特别需要这些,那么可能更容易使用可能有一些像蓝鸟这样的承诺库的thunk。
那说Redux Sagas很棒,但如果你刚刚开始使用redux,最好先坚持使用更简单的解决方案,一旦你开始探索像redux sagas这样的库,你会感觉很舒服。