Total Complexity | 0 |
Complexity/F | 0 |
Lines of Code | 20 |
Function Count | 0 |
Duplicated Lines | 0 |
Ratio | 0 % |
Coverage | 50% |
Changes | 0 |
1 | import { useState } from 'react'; |
||
2 | |||
3 | 2 | const DEFAULT_TIMEOUT_DELAY = 2000; |
|
4 | |||
5 | 2 | export const useStateFlagTimeout = (setTimeout) => (initialValue = true, delay = DEFAULT_TIMEOUT_DELAY) => { |
|
6 | const [ flag, setFlag ] = useState(initialValue); |
||
7 | const callback = () => { |
||
8 | setFlag(!initialValue); |
||
9 | setTimeout(() => setFlag(initialValue), delay); |
||
10 | }; |
||
11 | |||
12 | return [ flag, callback ]; |
||
13 | }; |
||
14 | |||
15 | 2 | export const useToggle = (initialValue = false) => { |
|
16 | 2 | const [ flag, setFlag ] = useState(initialValue); |
|
17 | |||
18 | 2 | return [ flag, () => setFlag(!flag) ]; |
|
19 | }; |
||
20 |