Здравствуйте! Делаю мобильное приложение с помощью React Native 0.30.
Есть компонент Report, который через props получает данные.
export default class Report extends Component {
constructor(props) {
super(props);
this.state = {
questions : [],
progress : 0,
activeSlide : 0
}
}
setActiveSlide(i, inc) {
let max = this.props.check.questions.length;
let curr = inc ? i+1 : i-1;
let progress = curr / max;
this.setState({
activeSlide : curr,
progress : progress
})
}
Каждый слайд рендерится с помощью функции:
renderSlide(slide, i) {
if(this.state.activeSlide == i)
return(
<View>
<Text>{slide.position} / {this.props.check.questions.length}. {slide.title}</Text>
<SwitchIOS
onValueChange={(value) => this.setCheck(value, i)}
value={/*anything*/}
/>
<View>
<TouchableHighlight onPress={() => this.setActiveSlide(i)}>
<Text>Назад</Text>
</TouchableHighlight>
<TouchableHighlight onPress={() => this.setActiveSlide(i, true)}>
<Text>Далее</Text>
</TouchableHighlight>
</View>
</View>
)
}
А теперь я не совсем понимаю как мне поступить с SwitchIOS, то ли мне все отметки записывать в отдельный state.questions, либо мне менять существующий массив данных. Если делать с помощью добавления в state.questions, так:
setCheck(val, i) {
this.state.questions.push({index : 1, check : val});
}
То как мне менять состояние переключателя? Какой value указывать? Если есть другие способы поделитесь пожалуйста.