@jingoz/zlight
Version:
一个轻量级的仿 zustand 的 React 状态管理库
24 lines (23 loc) • 638 B
TypeScript
import { TGetStateFn, TListener, TSetStateFn } from './types';
/**
* The store API
*/
export interface IStoreApi<S> {
setState: TSetStateFn<S>;
getState: TGetStateFn<S>;
getInitialState: TGetStateFn<S>;
subscribe: (listener: (state: S) => void) => () => void;
}
/**
* The store API implementation
*/
export declare class VanillaStoreApi<S> implements IStoreApi<S> {
private isInitialized;
private initialState;
private state;
private listeners;
setState: TSetStateFn<S>;
getState: TGetStateFn<S>;
getInitialState: TGetStateFn<S>;
subscribe: (listener: TListener<S>) => () => boolean;
}