已关闭。此问题为opinion-based。当前不接受答案。
**想要改进此问题吗?**请更新问题,以便editing this post可以用事实与引用来回答.
三年前就关门了。
Improve this question
我对Redux还是一个新手,还没有使用过Redux Sagas,所以我不确定什么是开始使用Sagas的好时机。或者其他解决方案。
当前的使用情形是:我有一个Redux操作,它调用一个Web API,在返回结果后,可能需要从其他1-20个API中获取数据。
传奇的用例是什么?替代方案是什么?我应该如何从这段代码开始。
3条答案
按热度按时间p5fdfcr11#
大多数项目都使用Redux Thunk来组织副作用。原则上,它给出了一个很好的结果:阅读和测试代码很容易(但仍然需要模拟网络请求)。但只要操作创建者(或thunk)的逻辑简单,这一切都是公平的。不幸的是,对于许多函数来说,代码变得更难阅读,这使得测试更加困难。
在这种情况下, Saga 来救援。ReduxSaga是组织副作用的另一种方法。您创建saga并编写事件流处理的所有逻辑,而不是调度ReduxThunk处理的函数。与调度thunk时执行的thunk不同,Sagas在应用程序启动后就会在后台运行。Sagas观察商店分派的所有操作,并决定如何处理它们。
在这一点上,我们可以分配传奇的三个关键好处:
如果你想知道如何把 Saga 付诸实践,检查我们的文章:https://blog.s-pro.io/use-redux-saga/,您可以在其中找到代码示例和更多内容!
0aydgbwb2#
你可能想看看Redux Thunk,这是一个非常明智和容易理解的异步Redux操作方法。
pxyaymoc3#
与redux thunks相比,传奇故事给予你一些优势,比如:
如果你发现自己并不特别需要其中的任何一个,那么使用thunk可能会更容易一些,比如像蓝鸟这样的承诺库。
也就是说Redux Sagas很棒,但是如果你刚刚开始使用Redux,最好先坚持使用更简单的解决方案,一旦你感觉舒服了,就开始探索像Redux Sagas这样的库。