javascript - 将AsyncStorage从react-native迁移到@react-native-community/async-storage,旧保存的数据丢失

标签 javascript react-native expo react-native-ios asyncstorage

我正在将已发布项目中的 AsyncStorage“react-native” 迁移到 '@react-native-community/async-storage' 我发现我以前保存的所有数据都丢失了。不幸的是,我不能让我的零售用户因为这次迁移而丢失所有数据。有没有办法将 AsyncStorage 保存的数据从 "react-native" 迁移到 '@react-native-community/async-storage' ?谢谢

最佳答案

您可以首先检查新存储(来自新库)是否为空,并尝试使用存在/旧的 AsyncStorage 库导入 到新的:

import { AsyncStorage as OldAsyncStorage}  from 'react-native';

importData = () => {
  OldAsyncStorage.getAllKeys.then((keys) => {
    return OldAsyncStorage.multiGet(keys)
      .then((result) => {
        ...
      });
  });
}

之后使用multiSet函数存储到新的。

关于javascript - 将AsyncStorage从react-native迁移到@react-native-community/async-storage,旧保存的数据丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57943575/

相关文章:

javascript - JS 中的数学舍入问题未能实际提供支持小数答案的整数

javascript - React - 不变违规异常

reactjs - 如何在 React Native 中加密数据(使用 Expo)

android - 使用 Expo 在 react-native 上共享图像和文件

javascript - 使用 CDATA 替换 < 是否正确

javascript - node js中response.send和response.write的区别

android - UnsatisfiedLinkError libreactnativejni.so App Bundle

ios - 在 React Native 初始化项目中为 iOS 设置 Facebook SDK 时使用未声明的标识符

react-native - Live Reload、Hot Reload 和 Remote Debugging 全部不可用

javascript - 我怎样才能让它工作。我尝试授予 sudo 权限