@known-as-bmf/react-when-hooks
Version:
Reack hook toolkit to trigger useEffect, useLayoutEffect, useCallback and useMemo when a condition on dependencies is met.
30 lines (29 loc) • 1.49 kB
TypeScript
import { DependencyList, EffectCallback } from 'react';
/**
* Shortcut for `useEffectWhen(effect, isDefined, deps)`
* @param effect The effect function to call when all the dependencies are defined.
* @param deps The dependency array.
*/
export declare function useEffectWhenDefined(effect: EffectCallback, deps: DependencyList): void;
/**
* Shortcut for `useLayoutEffectWhen(effect, isDefined, deps)`
* @param effect The effect function to call when all the dependencies are defined.
* @param deps The dependency array.
*/
export declare function useLayoutEffectWhenDefined(effect: EffectCallback, deps: DependencyList): void;
/**
* Shortcut for `useMemoWhen(factory, isDefined, deps)`
* @param factory The value generating function to call when all the dependencies are defined.
* @param deps The dependency array.
*
* @returns The value generated by the factory if all dependencies are defined, `undefined` otherwise.
*/
export declare function useMemoWhenDefined<T extends any>(factory: () => T, deps: DependencyList): T | undefined;
/**
* Shortcut for `useCallbackWhen(callback, isDefined, deps)`
* @param callback The callback to create when all the dependencies are defined.
* @param deps The dependency array.
*
* @returns The callback if all dependencies are defined, `undefined` otherwise.
*/
export declare function useCallbackWhenDefined<T extends (...args: any[]) => any>(callback: T, deps: DependencyList): T | undefined;