UNPKG

combine-action-reducer

Version:

create action creator and reducer with one action-reduer

44 lines (43 loc) 1.48 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); var redux_1 = require("redux"); var ActionReducer_1 = require("../ActionReducer/ActionReducer"); var CombineActionReducer_1 = require("../ActionReducer/CombineActionReducer"); var Person = /** @class */ (function () { function Person() { this.name = "1231"; this.age = 12; this.size = ""; } return Person; }()); // 在多个分支上创建ActionReducer; var Acr = CombineActionReducer_1.CombineActionReducer({ one: ActionReducer_1.ActionReducer(new Person())({ setSize: function (s, a) { return __assign({}, s, { size: "width:" + a.x + "/" + "height:" + a.y }); }, }), two: ActionReducer_1.ActionReducer(new Person())({ setSize: function (s, a) { return __assign({}, s, { size: "width:" + a.x + "/" + "height:" + a.y }); }, }), }); // 使用 as any 避免, createStore 无法识别reducer 的类型. var store = redux_1.createStore(Acr.reducer); store.dispatch(Acr.action.one.setSize({ x: 1, y: 2, }));