跳到主要内容

useUpdateManager

获取全局唯一版本更新管理器

何时使用

管理小程序更新机制。

API

useUpdateManager((manager, updateInfo) => {
// do something
});

参数

当更新信息变化的回调

返回值说明

返回值说明类型
manager更新管理器实例UpdateManager
updateInfo当前更新信息的状态UpdateInfo

UpdateInfo

返回值说明类型
hasUpdate是否有新版本boolean
error是否申请更新失败boolean
ready是否准备好更新boolean

代码演示

wechat/useUpdateManager/index
import React from 'react';
import { useUpdateManager, useModal } from 'taro-hooks';
import DemoContent from '@src/components/DemoContent';
import { View } from '@tarojs/components';

export default () => {
const show = useModal({ mask: true, title: '更新', showCancel: false });

useUpdateManager((manager, { hasUpdate, error, ready }) => {
if (error) {
show({ content: '更新失败, 请重试!' }).then(() => {
manager.applyUpdate();
});
return;
}

if (ready) {
show({ content: '新版本已经准备好, 是否重启?', showCancel: true }).then(
(res) => {
if (res.confirm) {
manager.applyUpdate();
}
},
);
return;
}

if (hasUpdate) {
show({ content: '检测到新版本, 是否更新?', showCancel: true });
}
});

return (
<DemoContent>
<View>检查更新中....</View>
</DemoContent>
);
};

Hook 支持度

微信小程序H5ReactNative
✔️