1 | import { useState, useEffect } from 'react'
|
2 |
|
3 | export default function useDrawerDismiss (callbacks) {
|
4 | const [state, setState] = useState({ tag: 'default', data: null })
|
5 |
|
6 | useEffect(() => {
|
7 | if (state.tag !== 'default') {
|
8 | callbacks.default()
|
9 | }
|
10 | })
|
11 |
|
12 | return [
|
13 | () => {
|
14 | callbacks[state.tag](state.data)
|
15 | setState({ tag: 'default', data: null })
|
16 | },
|
17 | (tag, data) => setState({ tag, data })
|
18 | ]
|
19 | }
|