ard*_*n92 4 android react-native react-native-camera
我正在尝试在我的项目中使用“React-native-camera”库。我实际上已经这样做了 50 多次,每次在我的 mac 和 Linux 系统上一切都很好。
但是现在突然之间它不再在我的 Linux 系统上工作并且不断产生这个错误(尽管在 mac 上工作!)。
我已经在这里检查了所有配置步骤 我已经尝试添加 missingDimensionStrategy 'react-native-camera', 'general' 到 app 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>
);
}
};
Run Code Online (Sandbox Code Playgroud)
这里有三个问题:
首先,导入应该是这样的:
import {RNCamera as Camera} from 'react-native-camera';
Run Code Online (Sandbox Code Playgroud)
其次,constants
第一个字母必须大写:Constants
第三,无论是Aspect.fill
和CaptureTarget.disk
是的不再一部分Constants
。所以你应该删除以下两行:
aspect={Camera.constants.Aspect.fill}
captureTarget={Camera.constants.CaptureTarget.disk}
Run Code Online (Sandbox Code Playgroud)
您可以在https://react-native-community.github.io/react-native-camera/docs 的官方文档中检查这些常量的更新替代方案
我发现这个链接,也许对你有帮助(它对我有用): Issue #1288 react-native-camera
你应该像这样导入:
import { RNCamera } from 'react-native-camera';
不是这样的
import Camera from 'react-native-camera';
归档时间: |
|
查看次数: |
3256 次 |
最近记录: |