usevuex
v0.0.1
Published
useVuex是用于提供类似mapState mapGetters mapActions mapMutations createNamespacedHelpers等vuex4.0拓展功能的辅助函数包
Downloads
10
Maintainers
Readme
useVuex
Introduce/简介
vuex 提供了一些类似mapState,mapMutations,createNamespacedHelpers等辅助函数给我们的开发带来了方便,但是在实际的开发过程中却发现vuex4.0对vue3得支持严重不足,特别是mapState,mapMutations,createNamespacedHelpers等辅助函数强烈依赖this所以几乎不能在setup中使用,另外vuex4.0对TypeScript的支持也十分有限,用到mutation,action等方法几乎成了AnyScript.纵观整个useStore的实现发现其十分依赖vue3的新特性Provide和Inject.这也导致目前并没有十分有效的方法解决这个问题,但是我认为使用泛型依然可以解决部分类型推断.故希望写此包尝试在vuex5.0公测前临时解决vuex4.0与vue3,TypeScript之间的矛盾.
UTC codes and abbreviations for Standard Time and Daylight Saving Time (DST) around the world.
Feature/特性:
- 加强vuex4.0对vue3的支持,主要是对Hook和setup方面的支持
- 增强vuex4.0对TypeScript的支持,增强类型推导
- 添加部分语法糖,使用法更简洁
- 使用Hook的风格保持代码风格一致
Usage/用法
参数说明 useStore(string|InjectionKey|undefined):Store useNamespacedStore(string|InjectionKey|undefined):{ useActions, useGetters, useMutations, useState }
引入包
//ES6 Module
import { useStore, useNamespacedStore } form "usevuex"
const { useActions, useGetters, useMutations, useState } = useNamespacedStore()
// or
const { useActions, useGetters, useMutations, useState } = useNamespacedStore(storeKey)
Notice/注意
一定要在setup函数或是使用了 语法糖的标签中使用.
Advance/优势
弥补官方vuex4.0对工具函数迟迟未能支持的问题,提供类型安全的ts版本.
Version/版本日志
- ✅v0.0.1 发布useVuex包.
- 🟩v0.0.X 修复潜在BUG