【问题标题】:Should we create one Epic per action type? in redux-observable我们应该为每个动作类型创建一个史诗吗?在 redux-observable 中
【发布时间】:2017-03-22 21:22:44
【问题描述】:

我正在进行redux-observable学习,我有一些疑问:

我们应该为每个动作创建一个史诗吗?

export const actionEpic = action $ => action$.ofType('ACTION')
export const action2Epic = action $ => action$.ofType('ACTION2')

或者我们可以为许多类似带开关的减速器创建它吗? 在中间件中导入每一个 Epic 来说服是很多工作

【问题讨论】:

    标签: rxjs redux-observable


    【解决方案1】:

    大部分史诗都是从匹配单个动作开始的,例如action$.ofType(SOMETHING)。这是因为这些操作通常会触发一些特定于单个任务的副作用(如 AJAX 调用)。

    想想获取用户模型之类的事情。您通常只想收听FETCH_USER 来启动此过程,但当然同一史诗可能会收听其他操作以了解何时取消正在进行的请求或类似的操作。

    如果您在单个史诗中混合了副作用问题,例如创建一个同时处理获取用户和获取用户帖子的史诗,您就会开始使史诗更难维护和测试。

    说了这么多,没有规则。史诗般的听多个动作来开始一些副作用的合法(但很少)案例。例如如果史诗处理一些适用于多个域的通用任务,日志记录是最明显的,但还有其他。

    就像 reducer 一样,多个史诗可以监听同一个动作,但这只有在它们之间几乎不需要协调时才有意义。

    【讨论】:

    猜你喜欢
    • 2017-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-20
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    相关资源
    最近更新 更多