TabBarIOS - 是否有viewDidAppear或viewWillAppear等效?

时间:2016-09-17 03:50:24

标签: react-native

专门用于在TabBarIOS.item的子组件内编写回调,该组件在选择Tab时触发。 (React Native中的TabBarIOS)

1 个答案:

答案 0 :(得分:2)

ViewDidAppear和ViewWillAppear没有针对标签的回调。您可以在TabIOSItem子组件中传递类似isTabAcitve的prop。并根据isTabActive值实现您的子组件。您的代码TabBarIOSItem可能如下所示:

<TabBarIOS.Item
      title=""
      selected={this.isTabActive("my-account-tab")}
      icon={require("./img/user-tab.png")}
      onPress={() => {
        this.setState({activeTab:"my-account-tab"});
      }}>
      <MyAccountTabisTabActive={this.isTabActive("my-account-tab")} />
</TabBarIOS.Item>

isTabActive可以是组件中包含TabIOS的方法:

isTabActive(tabName)
{
   return this.state.activeTab == tabName;
}

TabBarIOS也不会立即渲染所有选项卡,只有在第一次按下该选项卡时,才会初次化并挂载TabBarIOS子组件。因此,componentWillMount和componentDidMount也可以用作viewDidAppear和viewWillAppear的替代。