升级Expo SDK 46至48后遇AsyncStorage移除报错,求解决方案
修复AsyncStorage被移除的错误
这个错误是因为对应Expo SDK 48的React Native版本已将AsyncStorage从核心库中移除,需改用官方维护的独立包解决,具体步骤如下:
安装官方AsyncStorage包
在项目根目录执行适配Expo的安装命令:expo install @react-native-async-storage/async-storage替换代码中的导入语句
找到项目所有导入AsyncStorage的代码,将:import { AsyncStorage } from 'react-native';替换为:
import AsyncStorage from '@react-native-async-storage/async-storage';检查第三方依赖
部分老旧第三方库可能仍依赖react-native核心中的AsyncStorage,需:- 升级该库至适配新版React Native的最新版本;
- 若库已停止维护,替换为功能类似的替代库;
- 也可使用
patch-package工具给依赖库打补丁,修改其AsyncStorage导入路径。
清理缓存并重启项目
执行命令清除项目缓存,避免旧代码残留:expo start --clear
内容的提问来源于stack exchange,提问作者David Landes
相关产品推荐
相关产品推荐

