Mat*_*Cas 6 rxjs redux-observable
我正在进行redux-observable学习,我有些疑惑:
我们应该为每个要观看的动作创建一个Epic吗?
export const actionEpic = action $ => action$.ofType('ACTION')
export const action2Epic = action $ => action$.ofType('ACTION2')
Run Code Online (Sandbox Code Playgroud)
或者我们可以为许多人创建它,如带开关的减速器吗?导入每一个Epic在中间件中驯服是很多工作
jay*_*lps 10
大多数史诗将通过匹配单个动作开始,例如action$.ofType(SOMETHING).这是因为通常这些操作会触发一些特定于单个任务的副作用(如AJAX调用).
想一想像获取用户模型的东西.你通常只想听取FETCH_USER开始这个过程,但当然,同样的史诗可能会听取其他行动,知道何时取消飞行中的请求,或类似的.
如果你在单个史诗中混合副作用问题,比如创建一个同时处理用户和提取用户帖子的问题,你就会开始让你的史诗更难维护和测试.
所有这些都说,没有规则.有一些合法(但罕见)的案例,史诗般的听取多种行为来开始一些副作用.例如,如果史诗处理一些适用于多个域的通用任务,则记录最明显,但还有其他.
就像减速器一样,多个史诗可以听同样的动作,但是只有在它们之间几乎不需要协调时才有意义.