Реагировать на нативную прокручиваемую вкладку

Может кто-нибудь помочь мне, как использовать реквизиты onChange в реакции реагировать родной прокрутки вкладок? Любой пример кода? В основном я хочу получить данные, когда вкладка меняется.

<View style={styles.container}>
       <ScrollView>
        <ScrollableTabView>
        <OverViewPage tabLabel = "Overview" contentProps = { this.state = {data :  this.state.data , addressDetails :  this.state.addressDetails }} />
         <OverViewPage1 tabLabel = "OverView1"/>
         <OverViewPage2 tabLabel = "OverView2" />
        </ScrollableTabView>
        </ScrollView>
        </View>

Когда я перехожу на сцену OverView1, я хочу получить данные из API и визуализировать возвращенную информацию. В основном я хочу поймать событие, когда вкладка меняется. Я обнаружил, что есть реквизит onChange, но не мог понять, как его использовать. Ценю помощь!! Спасибо!!

1 ответ

ScrollableTabView не передает состояние вкладки дочерним экранам вкладок. Вместо этого в onChangeTab prop объекта ScrollTabView вы можете установить состояние в своем родительском классе React и передать новое состояние дочерним экранам вкладок об активной вкладке в качестве свойств. Что-то вроде следующего:

<ScrollableTabView onChangeTab={(event)=>{this.setStateForTabChange(event.i)}}>
  <Scene1 isActive={this.state.isSceneOneVisible} />
  <Scene2 isActive={this.state.isSceneTwoVisible} />
</ScrollableTabView>

Вы можете определить setStateForTabChange который в конечном итоге будет устанавливать значения состояний для активных состояний сцены на основе значения индекса, отправленного onChangeTab.

Другие вопросы по тегам