react-native-shared-state
Version:
Create shared states that can be connected to multiple react native components, allowing for simple global state management.
40 lines (39 loc) • 1.37 kB
TypeScript
/// <reference types="react" />
import { SharedState } from '../SharedState';
import { Element, Map, StorageOptions } from '../types';
declare type MapOptions<E extends Element> = {
debugLabel?: string;
defaultData?: E[];
};
declare type ListState = {
__updateId: Symbol;
};
export declare class SharedMap<E extends Element, K extends keyof E> extends SharedState<ListState> {
private dataStorageHandler;
private elementRegister;
private mapCache;
constructor(key: K, options?: MapOptions<E>);
get(id: string | number): E;
get data(): E[];
get map(): Map<E>;
add(newElements: E | E[], callback?: () => void): void;
refresh(): void;
remove(removeElements: E[K] | E[K][], callback?: () => void): void;
reset(): void;
resetData(resetMap?: Map<E>): void;
setState(): void;
registerElement(component: React.Component, ids: string | string[]): void;
unregisterElement(component: React.Component): void;
registerList(component: React.Component): void;
unregisterList(component: React.Component): void;
useElement(id: string | number): E;
useList(): {
__updateId: Symbol;
data: E[];
};
useMemo<T>(memoFunction: (array?: E[]) => T): T;
initializeStorage(options: StorageOptions): Promise<boolean>;
save(): Promise<boolean>;
toString(): string;
}
export {};