import { mapState as _mapState, createNamespacedHelpers } from 'vuex'; import { useStateMapper, checkType } from './useMapper'; /** * mapState * @description 参考 vuex 的mapState * https://vuex.vuejs.org/zh/guide/state.html#mapstate-%E8%BE%85%E5%8A%A9%E5%87%BD%E6%95%B0 */ export const mapState = (map: {}) => { let mapperFn = _mapState; // 如果使用模块化,则使用vuex提供的createNamespacedHelpers方法找到对应模块的mapActions方法 // if (checkType(moduleName) === '[object String]' && moduleName.length > 0) { // mapperFn = createNamespacedHelpers(moduleName).mapState; // } return useStateMapper(map, mapperFn) as any; };