Вы вызываете функцию, когда пишете this.segmentClicked(1)
. Вместо этого вы хотите задать функцию, которая будет вызываться при нажатии Button
.
Вы можете, например, создать новую встроенную функцию стрелки.
<Button
onPress={() => this.segmentClicked(1)}
active={this.state.activeIndex == 1}
>
<Icon name='ios-list-outline'
style={[this.state.activeIndex == 1 ? {} : {color: 'gray'}]}
/>
</Button>
Вы также должны вызвать функцию setState
, а не присвоить ей новое значение.
segmentClicked = (index) => {
this.setState({
activeIndex: index
});
}