UNPKG

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
/// <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 {};