UNPKG

383 BJavaScriptView Raw
1import { useEffect, useState } from 'react';
2
3export default (ms = 0) => {
4 const [ready, setReady] = useState(false);
5
6 useEffect(() => {
7 let unmounted = false;
8 const timer = setTimeout(() => {
9 if (!unmounted) {
10 setReady(true);
11 }
12 }, ms);
13
14 return () => {
15 unmounted = true;
16 clearTimeout(timer);
17 };
18 }, [ms]);
19
20 return ready;
21};