关于 valtio-define
valtio-define 是面向 React 开发者的 Valtio 状态管理库,采用类似 Pinia 的 API 创建响应式存储,支持状态、操作、getter 和 TypeScript。
主要功能
- 01响应式存储工厂
- 02状态、操作与 getter
- 03用于访问存储的 React Hook
- 04状态订阅与补丁更新
- 05插件与状态持久化
适用场景
- 01管理 React 应用的共享状态
- 02订阅存储变更
- 03通过插件持久化状态
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ hairyf/ skills --skill valtio-define安装后在 Claude Code 中输入/valtio-define确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSE.mdSYNC.mdreferences/advanced-patch.mdadvanced-signal.mdadvanced-store-to-state.mdadvanced-subscribe.mdcore-define-store.mdcore-types.mdcore-use-store.mdfeature-persistent-plugin.mdfeature-plugin-system.md详细介绍
基于 valtio-define v1.0.1。一个基于 Valtio 的状态管理库,为 React 应用提供类 Pinia 的 API。
概述
valtio-define 提供了一个工厂函数,用于创建带有 state、actions 和 getters 的响应式 store。它构建于 Valtio 之上,提供与 Pinia 类似的熟悉 API,并完全支持 TypeScript。
核心参考
| 主题 | 描述 | 参考 |
|---|---|---|
| defineStore | 用于创建响应式 store 的核心 API | core-define-store |
| useStore | 用于访问 store 状态的 React hook | core-use-store |
| Types | TypeScript 类型和接口 | core-types |
高级功能
| 主题 | 描述 | 参考 |
|---|---|---|
| Subscriptions | 订阅状态变化 | advanced-subscribe |
| Patch | 使用 patch 操作更新状态 | advanced-patch |
| Signal | 用于内联响应式值的 JSX 组件 | advanced-signal |
| Store to State | 将 store 转换为类 useState 的 hook | advanced-store-to-state |
特性
| 主题 | 描述 | 参考 |
|---|---|---|
| Plugin System | 使用插件扩展 store | feature-plugin-system |
| Persistent Plugin | 将状态持久化到存储 | feature-persistent-plugin |
快速开始
import { defineStore, useStore } from 'valtio-define'
const store = defineStore({
state: () => ({ count: 0 }),
actions: {
increment() { this.count++ },
},
getters: {
doubled() { return this.count * 2 },
},
})
function Counter() {
const state = useStore(store)
return (
<div>
<div>Count: {state.count}</div>
<div>Doubled: {state.doubled}</div>
<button onClick={store.increment}>Increment</button>
</div>
)
}
评论
支持 Markdown