UNPKG

@etsoo/toolpad

Version:

Dashboard framework extention based on Toolpad Core

17 lines (14 loc) 529 B
import * as React from "react"; /** * Returns the latest non-null, non-undefined value that has been passed to it. */ function useLatest<T>(value: T): T; function useLatest<T>(value: T | null | undefined): T | null | undefined; function useLatest<T>(value: T | null | undefined): T | null | undefined { const [latest, setLatest] = React.useState<T | null | undefined>(value); if (latest !== value && value !== null && value !== undefined) { setLatest(value); } return value ?? latest; } export default useLatest;