UNPKG

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