如何在基于本机的Tabs组件内的自定义组件中实现OnAppear功能

时间:2019-10-31 13:07:13

标签: react-native native-base

我有一个本地基本标签栏,其中每个标签显示不同的页面。

 <Tabs>
   <Tab
     heading="FirstTab"
     activeTabStyle={styles.activeTabStyle}
     activeTextStyle={styles.activeTextStyle}
   >
     <MyCustomeComponent/>
   </Tab>
   <Tab
     heading="SecondTab"
     activeTabStyle={styles.activeTabStyle}
     activeTextStyle={styles.activeTextStyle}
   >
     <MyOtherCustomeComponent/>
   </Tab>

现在,无论何时选择对应选项卡,我都想在MyCustomeComponentMyOtherCustomeComponent中启动一个功能。类似于OnAppear功能。

我知道onChangeTab组件有一个Tabs属性,但是我不知道如何从那里进入我的自定义组件。

1 个答案:

答案 0 :(得分:1)

尝试react-native-tab-view。这是link

希望这会对您有所帮助。

更新:

您必须在“选项卡”中添加“ ref”,然后使用“ this.refs”。您的代码将如下所示:

checkTabPosition(e){
    // determine which tab to refresh
    var tabToRefresh = ...;

    // refresh tab
    refreshTab(tabToRefresh);
}

refreshTab( tab ){
  this.refs[tab].fetchData();
}

然后,从“ onChangeTab”中调用它

<Tabs onChangeTab={(e)=>{this.checkTabPosition(e)}}>
    <Tab
         ref="tab1"
         heading="FirstTab"
         activeTabStyle={styles.activeTabStyle}
         activeTextStyle={styles.activeTextStyle}
    >
</Tabs>