@carbon/react
Version:
React components for the Carbon Design System
20 lines (19 loc) • 826 B
TypeScript
/**
* Copyright IBM Corp. 2016, 2023
*
* This source code is licensed under the Apache-2.0 license found in the
* LICENSE file in the root directory of this source tree.
*/
import { SetStateAction } from 'react';
/**
* `useDelayedState` mirrors `useState` but also allows you to add a delay to
* when your state updates. You can provide a second argument to `setState`,
* `delayMs`, which will be the time in milliseconds after which the state is
* updated.
*
* This hook will clean up pending timers in `useEffect` and will cancel any
* pending timers when a `setState` is called before the state is updated from
* a previous call
*/
export type DispatchWithDelay<A> = (value: A, delayMS?: number) => void;
export declare function useDelayedState<S>(initialState: S): [S, DispatchWithDelay<SetStateAction<S>>];