Я бы использовал состояние, чтобы определить, какую «камеру» вы используете.
Ваше начальное состояние:
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
});
}
};