UNPKG

@modern-kit/react

Version:
48 lines (46 loc) 1.5 kB
/** * @description 수동으로 타임아웃을 설정하고, 초기화할 수 있는 훅입니다. * * `useTimeout` 훅과 다르게 초기 자동 실행이 없으며, 명시적으로 타임아웃을 설정해야 합니다. * 모든 타임아웃은 해당 훅 언마운트 시 자동으로 초기화됩니다. * * `useTimeout`은 hooks rule에 따라 중첩 타임아웃 등 복잡한 타임아웃 설정에 적절하지 않습니다. * `useManualTimeout`은 병렬/중첩된 타임아웃을 실행하고, 한번에 초기화 해야 될 때 유용합니다. * * @returns {{ * set: (callback: () => void, delay: number) => number; * clearAll: () => void; * }} * - set: 타임아웃을 설정하는 함수 * - clearAll: 모든 타임아웃을 초기화하는 함수 * * @example * const { set, clearAll } = useManualTimeout(); * * useEffect(() => { * // 병렬 실행 * set(() => console.log('timeout1'), 1000); * set(() => console.log('timeout2'), 2000); * }, [set]); * * @example * const { set, clearAll } = useManualTimeout(); * * useEffect(() => { * // 중첩 실행 * set(() => { * console.log('timeout1'); * set(() => { * console.log('timeout2'); * set(() => { * console.log('timeout3'); * }, 1000); * }, 2000); * }, 3000); * }, [set]); */ declare const useManualTimeout: () => { set: (callback: () => void, delay: number) => number; clearAll: () => void; }; export { useManualTimeout };