taro-hooks
Version:
为 Taro 而设计的 Hooks Library
23 lines • 1 kB
JavaScript
import { getUpdateManager } from '@tarojs/taro';
import { useRef, useEffect } from '@taro-hooks/core';
function useUpdateManager(callback) {
var updateManager = useRef(getUpdateManager());
var updateInfo = useRef({});
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]);
useEffect(function () {
callback == null ? void 0 : callback(updateManager.current, updateInfo.current);
}, [updateInfo.current]);
}
export default useUpdateManager;