Home > @elux/react-web > exportModule

exportModule() function

向外封装并导出Module

Signature:

export declare function exportModule<TModuleName extends string, TModel extends CommonModel, TComponents extends {
    [componentName: string]: EluxComponent | AsyncEluxComponent;
}, D>(moduleName: TModuleName, ModelClass: CommonModelClass<TModel>, components: TComponents, data?: D): {
    moduleName: TModuleName;
    ModelClass: CommonModelClass;
    state: TModel['state'];
    actions: PickModelActions<TModel>;
    components: ReturnComponents<TComponents>;
    data: D;
};

Parameters

ParameterTypeDescription
moduleNameTModuleName模块名称,不能重复
ModelClassCommonModelClass<TModel>Model构造类
componentsTComponents导出的组件或视图,参见 exportView()
dataD导出其它任何数据

Returns:

{ moduleName: TModuleName; ModelClass: CommonModelClass; state: TModel['state']; actions: PickModelActions<TModel>; components: ReturnComponents<TComponents>; data: D; }

返回实现 CommonModule 接口的微模块

Example

import UserModel from './model';
import MainView from './views/Main';

exportModule('user', UserModel, {main: MainView, list: ()=>import('./views/List')})