Files
trezor-suite/packages/react-utils/src/hooks/useOnce.ts
2024-02-20 14:54:29 +01:00

15 lines
337 B
TypeScript

import { useEffect, useRef } from 'react';
/**
* Returns first only when rendered for the first time
* and subsequent always after that
*/
export const useOnce = <T>(first: T, subsequent: T) => {
const ref = useRef(first);
useEffect(() => {
ref.current = subsequent;
}, [subsequent]);
return ref.current;
};