我收到一条消息,在运行我的应用程序时无法删除
以下API已移至单独的程序包并导入它们 不推荐使用“ expo”包中的常量:
使用以下方法将这些软件包的正确版本添加到您的项目中:
expo install expo-constants
如果“安装”未被识别为EXPO命令,请更新您的 expo-cli安装。
更改您的导入,以便他们使用特定的软件包而不是 “博览会”套餐:
import { Constants } from 'expo' -> import Constants from 'expo-constants'
我已经按照指示安装了必要的软件包,但是尝试在expo中使用相机软件包时仍然出现此错误
下面是我的相机组件代码
Camera.js
import React, { Component } from 'react';
import { View, StyleSheet, TouchableOpacity, Text,
Alert, Modal, } from 'react-native';
import * as Permissions from 'expo-permissions';
import { Camera } from 'expo-camera';
import { Constants } from 'expo-constants';
import { Entypo, MaterialIcons, MaterialCommunityIcons,
SimpleLineIcons } from '@expo/vector-icons';
import { connect } from 'react-redux';
class Camera extends Component {
static navigationOptions = {
header: null
}
constructor(props) {
super(props);
this.state = {
hasCameraPermission: null,
type: Camera.Constants.Type.back,
picture: null
};
}
async componentDidMount() {
const { status } = await Permissions.askAsync(Permissions.CAMERA);
this.setState({ hasCameraPermission: status === 'granted' });
}
takePicture = async () => {
if (this.camera) {
console.log('');
const photo = await this.camera.takePictureAsync({ base64: true });
this.setState({
foo: Math.random()
});
const formData = new FormData();
formData.append('image', photo.base64);
formData.append('type', 'base64');
this.setState({
picture: photo.uri,
isCameraVisible: false
});
}
};
openCamera = () => {
const { hasCameraPermission } = this.state;
if (!hasCameraPermission) {
Alert.alert('Error', 'No access to camera');
} else {
this.setState({ isCameraVisible: true });
}
};
closeCamera = () => {
this.setState({
isCameraVisible: false
});
};
flipCamera = () => {
this.setState({
type: this.state.type === Camera.Constants.Type.back
? Camera.Constants.Type.front
: Camera.Constants.Type.back,
});
};
}
答案 0 :(得分:0)
需要更正导入。 代码中的常量和相机导入不正确。
尝试更改常量“ 不使用花括号” 那应该就可以了