问题描述
在我发布的版本中,我使用了核心 react-native async-storage,并在我的开发版本中更改为社区版本。问题是当我测试从旧版本升级到新版本时,异步存储中保存的所有数据都消失了。我知道它被删除的原因是,我将我的用户数据存储在 async-storage 中,并且在安装新更新时它们都消失了。当我尝试手动迁移数据时,核心异步存储中不再有数据。它只发生在 sqlite android,ios 工作正常。这是我用来手动迁移数据的代码。
async _migrateDatabaseForAndroid() {
console.warn("Migrate Database has been runned");
if (Platform.OS == "android") {
const keys = await OldAsyncStorage.getAllKeys();
if (keys) {
console.warn("Migrate Started");
OldAsyncStorage.multiGet(keys)
.then((result) => {
console.warn("Migrate got values" + result);
if (result && result.length > 0) {
console.warn("Transferring" + result);
AsyncStorage.multiSet(result)
.then(() => {
console.warn("Data Migration Success");
this._decideFirstScreen();
})
.catch((err) => {
console.warn("Error Uploaded");
this._decideFirstScreen();
});
} else {
this._decideFirstScreen();
}
})
.catch((err) => {
console.warn("Error Uploaded");
this._decideFirstScreen();
});
} else {
console.warn("No Need to Migrate");
this._decideFirstScreen();
}
} else {
this._decideFirstScreen();
}
}
详情: @react-native-async-storage/async-storage: "^1.13.2",反应原生:“0.62.2”, 旧项目反应原生:“0.59.10”
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)