1 | import { useEffect, useState } from 'react';
|
2 |
|
3 | export 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 | };
|