Expo应用能否使用React Native第三方包?以文件选择器场景为例
Expo应用第三方React Native包使用指南
关键结论
Expo应用没必要只局限于官方包,能不能用第三方RN包,看你用的是哪种工作流:
托管工作流(Managed Workflow)
- 这种模式下Expo全权负责打包和构建,只能用Expo预支持的包——要么是官方的
expo-*系列,要么是Expo兼容清单里明确标注支持的第三方库。 - 像
react-native-document-picker这种没被Expo预集成的原生依赖包,直接npm i安装后肯定报错,因为托管环境没法自动配置原生代码。
裸工作流(Bare Workflow)
- 要是你已经把项目eject成裸工作流,或者初始化时选了bare模式,那和普通RN项目没区别,随便装任何第三方RN包都行,包括
react-native-document-picker,但装完得自己手动配置iOS的Pod和Android的gradle这些原生部分。
你的文件选择器场景解决方案
针对你要集成文件选择器的需求,优先选npx expo install expo-document-picker:
- 官方维护的包,完美适配托管工作流,不用额外配置原生代码,拿来就能用。
- 核心功能全齐:支持多文件选择、按类型过滤、跨平台兼容iOS和Android。
- 就算是裸工作流,
expo-document-picker也支持,而且比react-native-document-picker的配置成本低得多,没必要舍近求远。
一句话总结:托管工作流只能用官方的expo-document-picker;裸工作流两个都能用,但官方包更省心。
内容的提问来源于stack exchange,提问作者Kashif
相关产品推荐
相关产品推荐

