shelving
Version:
Toolkit for using data in JavaScript.
11 lines (10 loc) • 740 B
TypeScript
import type { Arguments } from "../util/function.js";
/**
* Use memoised value with reduction logic.
* - Calls `reduce()` on each render.
* - First argument `previous` is either `undefined` (on first render) or the value returned by `reduce()` on the previous render (on subsequent renders).
* - `reduce()` can implement custom logic to decide whether to return the previous value or a new one.
* - Returns whatever `reduce()` returns on this render.
*/
export declare function useReduce<T, A extends Arguments = []>(reduce: (previous: T | undefined, ...a: A) => T, ...args: A): T;
export declare function useReduce<T, A extends Arguments = []>(reduce: (previous: T | undefined, ...a: A) => T | undefined, ...args: A): T | undefined;