繁体   English   中英

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

[英]Migrate AsyncStorage from react-native to @react-native-community/async-storage, old saved data lost

我正在将我发布的项目中的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 函数存储到新的。

我忘了提到我正在使用 Expo,现在我只想使用 ReactNative。 我发现 ReactNative 核心使用@"RNCAsyncLocalStorage_V1"而不是 Expo 使用@"RCTAsyncLocalStorage"所以目录路径不匹配。

世博路径https://github.com/expo/expo/blob/15a7ff76abb149962b1c42f617ca97d3f6c98021/ios/Exponent/Versioned/Core/EXVersionManager.m#L348

React Native https://github.com/react-native-community/async-storage/commit/8d275ad706c27962f71849119bc0f1be811a375e#diff-54c57f4041d9a698ab027d216344b6e

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM