我对 RN 很陌生。我知道这个问题正在重复,但我并没有完全得到我在那里寻找的答案。 所以我目前的项目使用 用于 web 的 expo 和用于 android 设置的 react-native cli。 我想在项目中添加一个图像选择器。 我看到了两个选项。
我有一些问题和一些疑问!!
我将此代码片段用于 expo-image-picker,当我使用 rn cli 构建应用程序时,它最终导致应用程序崩溃,但似乎不会导致 expocli build 出现问题。但我想将 expo 用于 web 和安卓版。 同样在网络上,以下代码片段将 base64 作为 uri 返回,这是默认行为吗??
const pickImage = async () => {
try{
let result = await ImagePicker.launchImageLibraryAsync({
mediaTypes: ImagePicker.MediaTypeOptions.Images,
allowsEditing: true,
aspect: [4, 3],
quality: 1,
base64:false
})
if(!result.isCancelled)return result.uri ;
}catch(err){
console.log(err) ;
}
}
那么在这种情况下我该怎么办,使用 expo-image-picker 因为它似乎与所有平台/两者都兼容? 任何类型的输入都会有帮助!!
答案 0 :(得分:1)
我不是 Expo 的粉丝,我没有这方面的经验,但我尝试回答您的问题。
<块引用>RN-native-image picker 是否与网络兼容??
你说得对,图书馆只支持移动设备。
<块引用>当我使用 react-native cli 创建 android 构建时,我应该使用 expo-image-picker 吗??
从 expo 文档中,我读到了那个,但我也知道有时 rn-cli
和 expo 有一些包差异,而这个 answer proves 就是这样。
Expo 永远不会锁定您,您可以随时“弹出”,您的项目将只是一个典型的原生项目,其中安装和配置了您的应用正在使用的 React Native 和 Expo SDK 包。
我不知道异常是什么,也许您在答案中提供的解决方案效果很好,但也许有一些依赖mismecc?例如 Web 应用程序上的 none 对象?或类似的东西。
<块引用>同样在 web 上,以下代码片段返回 base64 作为 uri,这是默认行为吗??
这看起来像是一个错误,this issue on github 或许可以证实我的想法