Ux.createAction

createAction方法为统一处理Redux中的Action的入口,主要可根据不同的租户以及用户设置不同的Action前缀,受环境变量的影响,所有的Action使用该方法创建,切一个App中createAction不可重复创建,后创建的会将先创建的Action覆盖。

源代码:

// Ux.Env.js
import { createAction } from 'redux-act';

export default {
    // ...
    createAction : (path) => createAction(`${process.env.$K_EVENT}${path}`),
    // ...
}

规则:

  • 代码中的process.env.$K_EVENT为启动脚本中注入的环境变量,不同的用户不一样。
  • 该代码创建Action使用了redux-act包中的createAction函数,最终和Epic结合使用。

示例:

import Ux from 'ux'

export default {
    // 读取订单
    fnOrderFromRoom: Ux.createAction("/RX/ORDER/FROM/ROOM"),
    // 读取账单
    fnBillFromRoom: Ux.createAction("/RX/BILL/FROM/ROOM")
}

该函数的调用仅放在Act.Types.js文件中,为Redux的Types定义中使用。

results matching ""

    No results matching ""