2016-08-24 56 views
0
use strict'; 
import React, { Component } from 'react'; 
import { 
    AppRegistry, 
    Dimensions, 
    StyleSheet, 
    Text, 
    TouchableHighlight, 
    View 
} from 'react-native'; 
import Camera from 'react-native-camera'; 

class BadInstagramCloneApp extends Component { 
    render() { 
    return (
     <View style={styles.container}> 
     <Camera 
      ref={(cam) => { 
      this.camera = cam; 
      }} 
      style={styles.preview} 
      aspect={Camera.constants.Aspect.fill}> 
      <Text style={styles.capture} onPress={this.takePicture.bind(this)}>[CAPTURE]</Text> 
     </Camera> 
     </View> 
    ); 
    } 
    takePicture() { 
    this.camera.capture() 
     .then((data) => console.log(data)) 
     .catch(err => console.error(err)); 
    } 
} 

const styles = StyleSheet.create({ 
    container: { 
    flex: 1 
    }, 
    preview: { 
    flex: 1, 
    justifyContent: 'flex-end', 
    alignItems: 'center', 
    height: Dimensions.get('window').height, 
    width: Dimensions.get('window').width 
    }, 
    capture: { 
    flex: 0, 
    backgroundColor: '#fff', 
    borderRadius: 5, 
    color: '#000', 
    padding: 10, 
    margin: 40 
    } 
}); 

AppRegistry.registerComponent('AwesomeProject',() => BadInstagramCloneApp); 

我用下面的步骤来解决问题: 删除node_modules文件夹 - 室射频node_modules & & NPM安装 复位打包缓存 - RM -fr $ TMPDIR/react- *或node_modules /react-native/packager/packager.sh --reset-cache 清除守卫员手表 - 守望员手表全部删除 从零开始重新创建项目 但我仍然收到错误消息。反应机摄像头未定义

+0

你配置了'反应,本机camera'组件的本机端? –

回答

1

确保您已正确设置设置,包括根据documentation运行$ react-native link react-native-camera和其他设置。

+0

嗨,我正在使用:https://github.com/expo/expo-docs/blob/8dfaa440335ab2a70ce609b8c72d99246791598b/versions/unversioned/sdk/camera.md回购,它给了我这个错误:'react-native link'不能用于创建React Native App项目。如果您需要包含依赖自定义本机代码的库,则可能必须先弹出 –

0

你可以尝试使用

var Camera = require('react-native-camera') 
+0

您可以详细说明它吗? OP有什么问题,为什么它不起作用,这是怎么解决的呢...... – Shirkam