CameraRoll.saveToCameraRoll не является функцией (Экспо) - PullRequest
1 голос
/ 10 января 2020

Я пытаюсь сохранить изображения, снятые с помощью библиотеки React Native Camera, в галерею моего проекта Expo.

Когда пользователь нажимает кнопку, запускается следующая функция:

download = async (imageRef) => {
  try {
    let result  = await takeSnapshotAsync(imageRef, {
      result: "tmpfile",
      width: 1013,
      height: 644,
      quality: 1,
      format: "png",
    });
    await CameraRoll.saveToCameraRoll(result, "photo");
  } catch (e) {
    alert(e);
    console.log('error:', e);
  }
};

takeSnapshotAsync работает правильно и может получить действительный data-uri . Но отладчик показывает следующую ошибку на CameraRoll:

TypeError: CameraRoll.saveToCameraRoll is not a function. (In 'CameraRoll.saveToCameraRoll(result, "photo")', 'CameraRoll.saveToCameraRoll' is undefined)

Ниже приводится полный код.

import { captureRef as takeSnapshotAsync } from 'react-native-view-shot'
import * as CameraRoll from "@react-native-community/cameraroll";

class ViewScreenSnapStore {
  download = async (imageRef) => {
    try {
      let result  = await takeSnapshotAsync(imageRef, {
        result: "tmpfile",
        width: 1013,
        height: 644,
        quality: 1,
        format: "png",
      });
      await CameraRoll.saveToCameraRoll(result, "photo");
    } catch (e) {
      alert(e);
      console.log('error:', e);
    }
  };
}

export default new ViewScreenSnapStore();

Среда:

    "@react-native-community/cameraroll": "^1.3.0",
    "@react-native-community/datetimepicker": "^2.1.0",
    "expo": "~36.0.0",
    "expo-asset": "~8.0.0",
    "expo-font": "~8.0.0",
    "expo-image-picker": "~8.0.1",
    "expo-localization": "~5.0.1",
    "expo-permissions": "~8.0.0",
    "expo-sharing": "~8.0.0",
    "mobx": "5.6.0",
    "mobx-react": "5.3.6",
    "moment": "^2.24.0",
    "native-base": "^2.13.8",
    "react": "~16.9.0",
    "react-dom": "~16.9.0",
    "react-native": "https://github.com/expo/react-native/archive/sdk-36.0.0.tar.gz",
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...