Вы используете одну и ту же функцию для разных переключателей, щелкнув по одному из них, вы не получите доступ к ярлыку этого конкретного переключателя. Для этого я бы предложил построить его так. Это может быть рабочее решение:
Начиная с массива, который выглядит следующим образом:
this.state = {
data = [
{
label: "firstSwitch",
checked: false,
},
{
label: "secondSwitch",
checked: false,
}
]
}
Затем в вашем рендере:
this.state.data.map((item, index) => <Fragment>
<Text>{item.label}</Text>
<Switch
onValueChange = {() => this.handleToggle(index)}
/>
</Fragment>
)
handleToggle
будетобновить массив в позиции, переданной в качестве аргумента:
handleToggle = index => {
let tempArr= this.state.data
tempArr[index].checked = !tempArr[index].checked
this.setState({data:tempArr})
}
Затем кнопка подтверждения проверит наличие проверенных переключателей:
onSubmit = () => {
let arrOfCheckedSwitches= []
this.state.data.forEach (item => item.checked && arrOfCheckedSwitches.push(item.label))
console.log("array of labels :", arrOfCheckedSwitches)
}
Дайте мне знать, если что-то неясно