Loading skill
Install any skill in seconds. Free to start, no credit card required.
Get Started Free →基于 Pinia 的全局状态管理规范,包含 UserStore、AppStore 的标准定义
.claude/skills/tencentblueking-pinia/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | 2% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 15% | 0% |
| case-01 | ✓→✓ | = Same ✓ | -7% | 0% |
| case-02 | ✓→✓ | = Same ✓ | -14% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 26% | 0% |
推荐使用 Setup Store 语法(类似 Composition API),比 Options API 更灵活。
typescript// src/store/user.ts import { defineStore } from 'pinia'; import { ref } from 'vue'; export const useUserStore = defineStore('user', () => { const userInfo = ref(null); const loading = ref(false); const fetchUserInfo = async () => { if (userInfo.value) return userInfo.value; loading.value = true; try { userInfo.value = await http.get('/user/info'); } finally { loading.value = false; } }; return { userInfo, loading, fetchUserInfo }; });
typescript<script setup lang="ts"> import { useUserStore } from '@/store/user'; import { storeToRefs } from 'pinia'; const userStore = useUserStore(); // 使用 storeToRefs 保持响应性 const { userInfo, loading } = storeToRefs(userStore); // Action 直接调用 userStore.fetchUserInfo(); </script>
| 错误 | 解决 | |------|------| | 解构丢失响应性 | 用 storeToRefs() | | 多次实例化 | Store 单例,直接 useXxxStore() |
| 资源 | URI | |-----|-----| | 完整 Store 模板 | skill://pinia-setup/assets/store-template.ts |
skill://pinia-setup/assets/store-template.ts> 根据 SKILL.md 中的 IF-THEN 规则判断是否需要加载
Other measured skills in the registry, with their headline benchmark lift.