UNPKG

@orca-fe/pocket

Version:

UI components by orca-team

26 lines (25 loc) 854 B
/// <reference types="node" /> import EventEmitter from 'events'; export declare function shallowEquals(obj1: any, obj2: any): boolean; export default class CommonStore<T extends Record<any, any>> { protected events: EventEmitter<[never]>; protected prevState: T; protected state: T; constructor(defaultState: T); protected setState(state: Partial<T>): void; /** * 获取最新的状态 */ getState(): T; /** * 在函数组件中订阅状态变化 */ useState<SubState = T>(callback?: (state: T) => SubState): SubState; /** * 在函数中监听事件变化 * @param eventName 事件名称 * @param callback */ useEventListener(eventName: string, callback: (...args: any[]) => void): void; useStateChangedListener(callback: (prevState: T, state: T) => void): void; }