taro-hooks
Version:
为 Taro 而设计的 Hooks Library
28 lines (27 loc) • 1.12 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var taro_1 = require("@tarojs/taro");
var core_1 = require("@taro-hooks/core");
function useUpdateManager(callback) {
var updateManager = (0, core_1.useRef)((0, taro_1.getUpdateManager)());
var updateInfo = (0, core_1.useRef)({});
(0, core_1.useEffect)(function () {
if (updateManager.current) {
updateManager.current.onCheckForUpdate == null ? void 0 : updateManager.current.onCheckForUpdate(function (res) {
updateInfo.current.hasUpdate = res.hasUpdate;
});
updateManager.current.onUpdateFailed == null ? void 0 : updateManager.current.onUpdateFailed(function () {
updateInfo.current.error = true;
});
updateManager.current.onUpdateReady == null ? void 0 : updateManager.current.onUpdateReady(function () {
updateInfo.current.ready = true;
});
}
}, [updateManager.current]);
(0, core_1.useEffect)(function () {
callback == null ? void 0 : callback(updateManager.current, updateInfo.current);
}, [updateInfo.current]);
}
exports["default"] = useUpdateManager;
;