UNPKG

reducermanager

Version:

Redux's reducer management and leave page data destruction

105 lines (100 loc) 2.65 kB
/** * 数据注入层 * 提供createStore、getDevTools、getActionType、getAllInitData四个方法 * * createStore方法,绑定数据到整个react路由层 * @params router(react路由), debug(是否开启调试工具) * @return reactRouter * * getDevTools方法,获取调试工具视图 * @return DevTools(调试工具视图) * * getActionType方法,获取storeName下所有actionType * @param storeName(数据层名称) * @return {}(storeName下所有actionType) * * getAllInitData方法,获取storeName下所有初始数据 * @param storeName(数据层名称) * @return {}(storeName下所有初始数据) */ import Store from './store/store'; /** * store修饰器,处理整个store层存入数据工厂 * @param storeName(数据层名称) * @return true */ const store = Store.store; /** * storeProps修饰器,按名称录入actionType * @param actionType(数据改变响应type) * @return target */ const storeProps = Store.storeProps; /** * storeDestroy修饰器,按名称录入是否需要销毁 * @return target */ const storeDestroy = Store.storeDestroy; /** * storeLogs修饰器,按名称录入日志级别 * @param level(日志级别) * @returns target */ const storeLogs = Store.storeLogs; /** * ConnectStore方法,链接数据,事件和reactDom * @params storeList[](页面所需数据层名称), destroyStoreList[](离开页面销毁数据层名称) * @return reactDom * 由于我会继承你的ReactDom并重写componentWillUnmount生命周期 * 所以 * 在你的ReactDom想实现componentWillUnmount生命周期必须加上静态属性 * 并且上下文还是ReactDom * 如下 * static componentWillUnmount (){ this._cons(); } _cons(){ console.log("生命周期销毁"); } */ import ConnectStore from './connect/connectstore'; /** * 事件注入层 */ import Action from './action/action'; /** * action修饰器,处理整个action层存入事件工厂 * @param actionName(事件层名称) * @return target */ const action = Action.action; /** * actionProps修饰器,按名称录入action * @param actionFunName(事件名称) * @return target */ const actionProps = Action.actionProps; /** * actionLogs修饰器,按名称录入日志级别 * @param level(日志级别) * @return target */ const actionLogs = Action.actionLogs; /** * actionInjection修饰器,按名称反向注入事件到reactDom * @param actionName(事件名称) * @return target */ const actionInjection = Action.actionInjection; export { Store, store, storeProps, storeDestroy, storeLogs, ConnectStore, action, actionProps, actionLogs, actionInjection };