我正在尝试在我的项目中使用“ React-native-camera”库。实际上,我已经完成了50多次,并且每次在Mac和Linux系统上都一切正常。
但是现在突然之间,它不再可以在我的Linux系统上运行,并且会继续生成此错误(虽然可以在Mac上运行!)。
我已经检查了所有配置步骤here 我尝试将缺少的DimensionStrategy'react-native-camera','general'添加到应用程序build.gradle 我尝试将maven {url“ https://jitpack.io”}和maven {url“ https://maven.google.com”}添加到项目build.gradle 我尝试从.ideas目录中删除madules.xml,并在启用和不启用缓存清除的情况下重新启动android studio。
还是一无所有 这是使相机模块正常运行的示例代码:
class CameraApp extends Component {
constructor(props) {
super(props);
this.state = {
path: null,
uri: '',
imageName: ''
};
}
takePicture() {
this.camera.capture()
.then((data) => {
console.log(data);
})
.catch(err => console.error(err));
}
renderCamera() {
return (
<View>
<Camera
ref={(cam) => {
this.camera = cam;
}}
style={styles.preview}
aspect={Camera.constants.Aspect.fill}
captureTarget={Camera.constants.CaptureTarget.disk}
>
<TouchableHighlight
style={styles.capture}
onPress={this.takePicture.bind(this)}
underlayColor="rgba(255, 255, 255, 0.5)"
>
<View />
</TouchableHighlight>
</Camera>
</View>
);
}
render() {
return (
<View style={styles.container}>
{this.renderCamera()}
</View>
);
}
};
答案 0 :(得分:4)
这里有三个问题:
首先,导入应类似于:
import {RNCamera as Camera} from 'react-native-camera';
第二,constants
必须首字母大写:Constants
第三,Aspect.fill
和CaptureTarget.disk
都不再是Constants
的一部分。因此,您应该删除以下两行:
aspect={Camera.constants.Aspect.fill}
captureTarget={Camera.constants.CaptureTarget.disk}
您可以在https://react-native-community.github.io/react-native-camera/docs的官方文档中查看这些常量的更新替代方案。
答案 1 :(得分:0)
我找到了此链接,可能对您有所帮助(对我有用): Issue #1288 react-native-camera
您应该这样导入:
import { RNCamera } from 'react-native-camera';
不是这样
import Camera from 'react-native-camera';