valtio-define について
valtio-defineは、React向けのValtioベースの状態管理ライブラリです。Piniaに似たAPIで状態、アクション、ゲッターを持つリアクティブストアを作成でき、TypeScriptにも対応します。
主な機能
- 01リアクティブストアのファクトリー
- 02状態、アクション、ゲッター
- 03ストアにアクセスするReactフック
- 04状態の購読とパッチ更新
- 05プラグインと状態の永続化
活用シーン
- 01Reactアプリの共有状態の管理
- 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 に基づいています。React アプリケーション向けに、Pinia のような API を備えた、Valtio ベースの状態管理ライブラリです。
概要
valtio-define は、状態、アクション、ゲッターを備えたリアクティブなストアを作成するファクトリー関数を提供します。Valtio を基盤としており、TypeScript を完全にサポートしながら、Pinia に似た使い慣れた API を提供します。
コアリファレンス
| トピック | 説明 | リファレンス |
|---|---|---|
| defineStore | リアクティブなストアを作成するコア API | core-define-store |
| useStore | ストアの状態にアクセスする React フック | core-use-store |
| Types | TypeScript の型とインターフェース | core-types |
高度な機能
| トピック | 説明 | リファレンス |
|---|---|---|
| Subscriptions | 状態の変更を購読する | advanced-subscribe |
| Patch | パッチ操作で状態を更新する | advanced-patch |
| Signal | インラインのリアクティブな値を表示する JSX コンポーネント | advanced-signal |
| Store to State | ストアを useState のようなフックに変換する | advanced-store-to-state |
機能
| トピック | 説明 | リファレンス |
|---|---|---|
| Plugin System | プラグインでストアを拡張する | 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 対応