UNPKG

set-state-compare

Version:

setState for React that compares with the current state and only sets the state if changed.

97 lines 3.24 kB
export type ShapeLifecycleHooks = { componentDidUpdate?: (prevProps: Record<string, any>, prevState: Record<string, any>) => void; componentDidMount?: () => void; componentWillUnmount?: () => void; props: { children: [any]; }; setup?: () => void; }; /** * @param {typeof ShapeComponent} ShapeClass * @returns {function(Record<string, any>): import("react").ReactNode} React functional component that renders the ShapeClass */ export function shapeComponent(ShapeClass: typeof ShapeComponent): (arg0: Record<string, any>) => any; /** * @typedef {object} ShapeLifecycleHooks * @property {(prevProps: Record<string, any>, prevState: Record<string, any>) => void} [componentDidUpdate] * @property {() => void} [componentDidMount] * @property {() => void} [componentWillUnmount] * @property {{children: [import("react").ReactNode]}} props * @property {() => void} [setup] */ export class ShapeComponent { /** @type {Record<string, any> | undefined} */ static defaultProps: Record<string, any> | undefined; /** @type {Record<string, import("prop-types").Validator>} */ static propTypes: Record<string, any>; /** @type {Record<string, {dependencies?: any[], value: any}> | undefined} */ static __staticCaches: Record<string, { dependencies?: any[]; value: any; }> | undefined; /** * @param {Record<string, any>} props */ constructor(props: Record<string, any>); __caches: {}; __mounting: boolean; __mounted: boolean; props: Record<string, any>; setStates: {}; state: {}; __firstRenderCompleted: boolean; tt: any; p: any; s: any; /** * @template T * @param {string} name * @param {T | (() => T)} value * @param {any[]} [dependencies] * @returns {T} */ cache<T>(name: string, value: T | (() => T), dependencies?: any[]): T; /** * @template T * @param {string} name * @param {T | (() => T)} value * @param {any[]} [dependencies] * @returns {T} */ cacheStatic<T>(name: string, value: T | (() => T), dependencies?: any[]): T; /** * @param {Record<string, any>} variables * @returns {void} */ setInstance(variables: Record<string, any>): void; /** * @param {Record<string, any>} statesList * @param {function() : void} [callback] * @returns {void} */ setState(statesList: Record<string, any>, callback?: () => void): void; /** * @param {Record<string, any>} statesList * @returns {Promise<void>} */ setStateAsync(statesList: Record<string, any>): Promise<void>; /** * @param {string} stylingName * @param {Record<string, any>} style * @returns {Record<string, any>} */ stylingFor(stylingName: string, style?: Record<string, any>): Record<string, any>; /** * @param {string} stateName * @param {any} defaultValue * @returns {any} */ useState(stateName: string, defaultValue: any): any; /** * @param {Array<string>|Record<string, any>} statesList * @returns {void} */ useStates(statesList: Array<string> | Record<string, any>): void; } //# sourceMappingURL=shape-component.d.ts.map