taro-hooks
Version:
为 Taro 而设计的 Hooks Library
28 lines (27 loc) • 982 B
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var tslib_1 = require("tslib");
var taro_1 = require("@tarojs/taro");
var core_1 = require("@taro-hooks/core");
var usePromise_1 = tslib_1.__importDefault(require("../usePromise"));
var tool_1 = require("../utils/tool");
function useToast(option) {
var generalOption = (0, core_1.useRef)(option);
(0, core_1.useEffect)(function () {
generalOption.current = option;
}, [option]);
var showToastAsync = (0, usePromise_1["default"])(taro_1.showToast);
var show = function show(option) {
if (!option && !generalOption.current) return Promise.reject((0, tool_1.generateGeneralFail)('showToast', 'please provide a option'));
var modalOption = (0, tool_1.combineOptions)(generalOption.current, option);
return showToastAsync(modalOption);
};
var hide = (0, usePromise_1["default"])(taro_1.hideToast);
return {
show: show,
hide: hide
};
}
exports["default"] = useToast;
;