我会用状态来区分你用的是哪个“摄像机”。
您的初始状态:
this.state = {
isVisible: false,
pictureType: null,
value1: null,
value2: null
}
调用按钮时要调用的函数,其中每个按钮都有不同的
pictureType
:
initTakingPicture = (pictureType) => {
this.setState({
isVisible: true,
pictureType: pictureType
})
}
您的示例按钮:
<Button title='PHOTO 1' onPress={() => this.initTakingPicture("A")}/>
然后在你的
takePicture
函数可以检查状态以区分要拍摄的图片类型并将其保存到“根据”字段中:
takePicture = async function() {
if (this.camera) {
const options = { quality: 0.5, base64: true };
const data = await this.camera.takePictureAsync(options);
console.log(data.uri);
let fieldToSave = "value1" // Fallback
if (this.state.pictureType === "A") {
// Operation you need to do for pictureType A
fieldToSave = "value1"
} else if (this.state.pictureType === "B") {
// Operation you need to do for pictureType B
fieldToSave = "value2"
}
this.setState({
isVisible: false,
pictureType: null,
[fieldToSave]: data.uri
});
}
};