redux-saga_Redux-Saga模式:流Sagas和普通Sagas
redux-saga
我已经使用redux-saga半年了,我喜欢它,因为它允许编写干净的声明性代码。
每当我使用一种技术时,我都会研究模式,惯例和最佳实践,以提高我的知识。
我在redux-saga上发现了很多资源(文档非常好),但是没有任何东西可以解释如何在应用程序上构造和定义sagas以使其更具可维护性和可伸缩性。
考虑到这一点,我想分享我对sagas的管理方式,希望这篇文章可以对某人有所帮助并获得一些改进的反馈。
简单的概念是定义两种气体, 流量和普通 。
什么是流动水gas和普通水gas?
普通虎尾草 :
是只有一种责任的萨加斯,可以在我们的应用程序的所有部分中使用。
它们应包括每次动作生命周期(开始,成功,失败)
它们应该始终返回某些东西,并且应该将它们导出为生成器。
他们将错误管理委托给流程流程。
从此处分派的操作可以管理 redux存储的状态。
示例: 获取用户的首选项。
流水流 :
是管理某一功能行为的Sagas, 仅应由一个功能使用。
我们还可以定义流的传奇,即使用常见的传奇创建行为的传奇。
它们总是由调度的动作调用,并描述特定功能的行为( 流程 )。
他们应该管理成功和失败的行为,为此我们使用TRY-CATCH语句。
在尝试内部,我们具有成功行为,而在内部则包含失败行为。
例如:在功能上引导的工作原理。
我为什么喜欢它?
- 在sagas之间创建差异有助于您简化应用程序的维护,因为您可以重用公共部分并划分业务逻辑的职责。
- 通过将两种sagas分开,您可以非常快速地更改应用程序,因为通过这种方式,您可以隔离行为并进行更改,而无需进行其他操作。
- 错误处理非常容易,因为您只有一个地方可以处理错误。
- 您可以知道应用程序中会发生什么,因为操作日志非常干净,发现错误会很有意义!
我希望本文可以帮助您避免遇到一些我遇到的问题。
我对您的处理方式以及您对本文的看法感到好奇。
玩得开心编码coding
在Github上关注我: https : //github.com/CVarisco
在Twitter上关注我: https : //twitter.com/chrivarisco
翻译自: https://hackernoon.com/redux-saga-pattern-flow-sagas-and-common-sagas-3aa6862533e0
redux-saga
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
