usevuex

0.0.1 • Public • Published

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 }

引入包

//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

Package Sidebar

Install

npm i usevuex

Weekly Downloads

2

Version

0.0.1

License

MIT

Unpacked Size

22.7 kB

Total Files

4

Last publish

Collaborators

  • liuqixuan