UNPKG

usevuex

Version:

useVuex是用于提供类似mapState mapGetters mapActions mapMutations createNamespacedHelpers等vuex4.0拓展功能的辅助函数包

47 lines (28 loc) 1.91 kB
# 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/特性: 1. 加强vuex4.0对vue3的支持,主要是对Hook和setup方面的支持 2. 增强vuex4.0对TypeScript的支持,增强类型推导 3. 添加部分语法糖,使用法更简洁 4. 使用Hook的风格保持代码风格一致 ## Usage/用法 参数说明 useStore(string|InjectionKey|undefined):Store useNamespacedStore(string|InjectionKey|undefined):{ useActions, useGetters, useMutations, useState } 引入包 ```JavaScript //ES6 Module import { useStore, useNamespacedStore } form "usevuex" const { useActions, useGetters, useMutations, useState } = useNamespacedStore() // or const { useActions, useGetters, useMutations, useState } = useNamespacedStore(storeKey) ``` ## Notice/注意 一定要在setup函数或是使用了<script setup></script> 语法糖的标签中使用. ## Advance/优势 弥补官方vuex4.0对工具函数迟迟未能支持的问题,提供类型安全的ts版本. ## Version/版本日志 - ✅v0.0.1 发布useVuex包. - 🟩v0.0.X 修复潜在BUG