mapState.ts 664 B

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