UNPKG

taro-hooks

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