UNPKG

taro-hooks

Version:
18 lines 714 B
import { showModal } from '@tarojs/taro'; import { useRef, useEffect } from '@taro-hooks/core'; import usePromise from '../usePromise'; import { combineOptions, generateGeneralFail } from '../utils/tool'; function useModal(option) { var generalOption = useRef(option); useEffect(function () { generalOption.current = option; }, [option]); var showModalAsync = usePromise(showModal); var show = function show(option) { if (!option && !generalOption.current) return Promise.reject(generateGeneralFail('showModal', 'please provide a option')); var modalOption = combineOptions(generalOption.current, option); return showModalAsync(modalOption); }; return show; } export default useModal;