SuperAPI AI 工具集

vueuse-shared-skilld

前端与建站

查看项目

更新于 10-15 23:57

技能介绍

@vueuse/shared 15.0.0 是 Vue 的框架无关反应式工具库,peer 依赖 vue ^3.5.0,仅提供 ESM(package.json 中 "type": "module",dist 无 CJS 构建),要求 Node.js >= 22。用于编写、审查或调试从 @vueuse/shared 导入(或经 @vueuse/core 再导出)的代码。

v15 关键规则:useThrottleFn 的 trailing 默认值从 false 改为 true,默认 ms=200、trailing=true、leading=true、rejectOnCancel=false;要恢复 v14 的仅前沿行为需显式传 trailing=false。computedEager / eagerComputed 已弃用并计划移除,改用 Vue 3.4+ 的 computed。watchPausable / pausableWatch 各重载均已弃用,改用 Vue 内置 watch(其 handle 已含 pause() 与 resume())。优先使用主名称而非弃用别名。计时器组合式函数在服务端为空操作:useIntervalFn 与 useTimeoutFn 仅在 isClient 时启动计时器。

常见用法示例:从 '@vueuse/shared' 导入 useDebounceFn、useThrottleFn 等。useDebounceFn 返回 Promise,并附带 cancel/flush/isPending,可传 maxWait。useThrottleFn 用于限制滚动/缩放频率,v15 默认前后沿都触发,传 false 可得 v14 风格。until 与 whenever 用于一次性异步流程控制,until(isReady).toBe(true, { timeout: 5000, throwOnTimeout: true }),whenever 可配 { once: true } 在首次运行后自动停止。createInjectionState 生成带类型的 provide/inject 对,无需手写 InjectionKey。refManualReset 的 reset() 可恢复初始值;syncRef 在类型不同时必须提供 transform 的 ltr/rtl。

状态共享工具选择:createGlobalState 生命周期为应用级、永不销毁,适合应用级单例;createSharedComposable 在最后一个订阅者离开时销毁,适合共享一个组合式实例;createInjectionState 绑定组件树,适合带类型的 provider/consumer store;provideLocal / injectLocal 作用于同一组件或作用域。SSR 下 createSharedComposable 在服务端回退为普通组合式函数,每个请求获得全新状态。限制与更多细节(API 清单、v14 到 v15 迁移与弃用别名表、防抖节流语义、watch 变体、反应式工具、计时器与工具函数)见官方文档各页;具体收费、平台与效果资料暂未提供。