【问题标题】:Expo Image Picker vs RN-image pickerExpo Image Picker vs RN-image picker
【发布时间】:2021-01-03 10:27:22
【问题描述】:

我对 RN 很陌生。我知道这个问题正在被重复,但我并没有完全得到我一直在寻找的答案。 所以我目前的项目使用 用于 web 的 expo 和用于 android 设置的 react-native cli。 我想在项目中添加一个图像选择器。 我看到我身边有两个选择。

  1. RN 图像选择器
  2. expo-image-picker

我有一些问题和一些问题!!

  1. RN-native-image 选择器是否与 web 兼容?
    • 我认为不是,我认为有两个原因,这个库使用 Nativemodules,它 不会为 web 捆绑,并且当我运行时它会为 NativeModules 提供未定义的错误 网页,而它在 android 上运行良好。
  2. 在使用 react-native cli 创建 android 构建时是否应该使用 expo-image-picker ??
  • 构建不会出错,也不应该,但是当我点击上传图片时,app 选择图像后崩溃。我阅读了该问题的文档和 github。许多人指出 解决它的内存分配问题,可以通过禁用“不保留活动”来解决 开发者选项,我还没试过。
  1. 同样在 web 上,下面的代码 sn-p 返回 base64 作为 uri,是默认行为吗??

我将此代码 sn-p 用于 expo-image-picker,当我使用 rn cli 构建应用程序时,它最终导致应用程序崩溃,但似乎不会导致 expocli build 出现问题。但我想使用 expo用于安卓的 web 和 rn。 同样在网络上,以下代码 sn-p 返回 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 因为它似乎与所有平台/两者都兼容? 任何形式的输入都会有所帮助!

【问题讨论】:

    标签: expo react-native-android react-native-web


    【解决方案1】:

    我不是世博会的粉丝,也没有这方面的经验,但我会尽力回答你的问题。

    RN-native-image picker 与 web 兼容吗??

    你说得对,图书馆只支持移动设备。

    当我使用 react-native cli 创建 android 构建时,我应该使用 expo-image-picker 吗??

    从 expo 文档中,我读到了这一点,但我也知道有时 rn-cli 和 expo 有一些包装差异,而这个 answer proves 那个。

    Expo 永远不会锁定您,您可以随时“退出”,您的项目将只是一个典型的本地项目,其中包含您的应用正在使用的安装和配置的 React Native 和 Expo SDK 包。

    我不知道有什么异常,也许您在答案中提出的解决方案效果很好,但也许有一些依赖错误?例如 Web 应用程序上的 none 对象?或类似的东西。

    同样在 web 上,下面的代码 sn-p 返回 base64 作为 uri,是默认行为吗??

    这看起来像是一个错误,this issue on github 或许可以证实我的想法

    【讨论】:

    • 感谢您回答所有问题,这真的很有帮助。
    • 考虑将其标记为正确答案:)
    猜你喜欢
    • 2020-03-02
    • 2020-11-04
    • 1970-01-01
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    • 2020-09-16
    • 2022-12-13
    • 2021-10-20
    相关资源
    最近更新 更多