UNPKG

@modern-kit/react

Version:
41 lines (38 loc) 1.68 kB
interface IntervalOptions { delay: number; enabled?: boolean; } interface UseIntervalReturnType { set: () => void; clear: () => void; reset: () => void; } /** * @description `useInterval` 훅은 지정된 시간 간격으로 특정 작업을 수행할 수 있게 해주는 훅입니다. * * @param {() => void} callback - 지정된 시간 간격마다 실행될 콜백 함수입니다. * @param {number | IntervalOptions} options - 시간 간격을 나타내는 밀리초 단위의 숫자 또는 설정 객체입니다. * 숫자일 경우 시간 간격으로 사용되며, 객체일 경우 `delay``enabled` 속성을 설정할 수 있습니다. * * @returns {UseIntervalReturnType} `reset`, `set`, `clear`를 포함한 객체를 반환합니다. * - `set`: interval을 설정하는 함수입니다. * - `reset`: interval을 재설정하는 함수입니다. * - `clear`: interval을 초기화하는 함수입니다. * * @example * // 마운트 후 0.3초 간격으로 callback 실행 * useInterval(callback, 300); * * // 마운트 후 0.3초 간격으로 callback 실행 * useInterval(callback, { delay: 300 }); * * // enabled true라면, 0.3초 간격으로 callback 함수 실행 * useInterval(callback, { delay: 300, enabled: condition }); * * @example * // 직접 interval을 핸들링 할 수 있는 함수 제공 * const { set, reset, clear } = useInterval(callback, { delay: 300, enabled: condition }); */ declare function useInterval(callback: () => void, options: number): UseIntervalReturnType; declare function useInterval(callback: () => void, options: IntervalOptions): UseIntervalReturnType; export { useInterval };