export class CameraView extends Component {
render(){
return(
<View style={{
flex: 1,
width: '100%',
height: '100%',
}}>
<Camera
ref={(cam) => {
this.camera = cam;
}}
style={styles.preview}
aspect={Camera.constants.Aspect.fill}>
<CaptureControls></CaptureControls>
<Image></Image>
</Camera>
</View>
);
}
}
export class CaptureControls extends Component {
render(){
return(
<View style={{
flexDirection: 'row',
alignItems: 'center',
justifyContent: 'center',
bottom: 30,
}}>
<Image style={{
width: 30,
height: 30,
marginRight: 75,
}} source={require('img/opengallery.png')}></Image>
<TouchableHighlight onPress={this.takePicture.bind(this)}>
<Image style={{
width: 70,
height: 70,
}} source={require('img/takepicture.png')}> </Image>
</TouchableHighlight>
<Image style={{
width: 30,
height: 30,
marginLeft: 75,
}} source={require('img/switchcam.png')}></Image>
</View>
);
}
takePicture() {
this.camera.capture()
.then((data) => console.log(data))
.catch(err => console.error(err));
}
}
Voici mon code. Lorsque j'appuie sur le bouton takepicture, je reçois undefined is not an object. Qu'est-ce qui ne va pas dans mon code ? takePicture() fonctionne pourtant sur un élément Text. J'ai ajouté un TouchableHighlight autour de l'image et j'ai ajouté le onPress à TouchableHighlight, mais maintenant il se plante.
Bien à vous, Matthew