安装rn-fetch-blob导入项目报错:TypeError: Cannot read properties of undefined (reading 'DocumentDir')
解决rn-fetch-blob导入时出现
TypeError: Cannot read properties of undefined (reading 'DocumentDir')的问题 问题场景
Windows环境下,使用Expo开发Android应用,安装rn-fetch-blob库并导入后触发上述错误。
解决方案
如果你用的是Expo Managed Workflow(未 eject)
rn-fetch-blob不支持Expo的Managed Workflow,直接使用会出现这类未定义错误。建议替换为Expo官方维护的expo-file-system:
- 安装依赖:
npx expo install expo-file-system - 替换代码:原来调用
RNFetchBlob.fs.DocumentDir的地方,改用FileSystem.documentDirectory,示例:
import * as FileSystem from 'expo-file-system'; // 获取文档目录路径 const docDir = FileSystem.documentDirectory; console.log(docDir);
如果你用的是Expo Bare Workflow(已 eject)
- 确认库已正确链接:运行
npx react-native link rn-fetch-blob,完成后重新编译Android项目。 - 检查AndroidManifest.xml中是否添加存储权限,在
<manifest>标签内添加:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- 清理缓存后重启项目:执行
npx react-native start --reset-cache,再重新构建运行Android应用。
内容的提问来源于stack exchange,提问作者sasame
相关产品推荐
相关产品推荐

