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定义中使用。