@carbide/state-manager
v1.0.0
Published
全局状态管理组件,支持订阅和持久化
Downloads
133
Maintainers
Readme
carbide-state-manager
全局状态管理组件,支持订阅和持久化。
功能
- 全局状态存储
- 订阅/取消订阅模式
- 状态变更通知
- localStorage 持久化
- TypeScript 类型支持
安装
npm install
npm run build使用
import { StateManager } from './src/index';
// 创建实例
const state = new StateManager({
user: { name: 'Carbide', id: 1 },
theme: 'dark'
});
// 订阅状态变更
const unsubscribe = state.subscribe((newState, oldState) => {
console.log('状态变化:', oldState, '->', newState);
});
// 更新状态
state.setState({ theme: 'light' });
// 获取状态
console.log(state.getState());
// 取消订阅
unsubscribe();API
new StateManager(initialState, options)
initialState: 初始状态对象options.persist: 是否持久化到 localStorage(默认 false)options.key: localStorage 键名(默认 'carbide-state')
setState(partialState)
合并更新状态,触发订阅回调。
getState()
获取当前完整状态。
subscribe(callback)
订阅状态变更,返回取消订阅函数。
reset()
重置为初始状态。
