react-3ducks
Version:
Simple state management library for React
19 lines (18 loc) • 951 B
TypeScript
/// <reference types="react" />
export declare type StoresByKey = {
[index: string]: StateStore<{}>;
};
export declare type StateUpdatedCallback = () => void;
export default class StateStore<T> {
private _state;
private listeners;
constructor(initialState: T);
state: T;
private fireListeners;
setState(newState: Partial<T>): void;
subscribe(key: string, callback: StateUpdatedCallback): void;
unsubscribe(callback: StateUpdatedCallback): void;
}
export declare const _StoresContext: import("react").Context<{}> | undefined;
export declare const root: (RootComponent: import("react").ComponentType<{}>, stores: StoresByKey) => (props: any) => import("react").FunctionComponentElement<import("react").ProviderProps<{}>>;
export declare function container<P, S extends StoresByKey = StoresByKey>(ContainerComponent: React.ComponentType<P>, mapState?: (stores: S, props: any) => any): React.ComponentType<Partial<P>>;