【问题标题】:TabBarIOS - Is there a viewDidAppear or viewWillAppear equivalent?TabBarIOS - 是否有 viewDidAppear 或 viewWillAppear 等价物?
【发布时间】:2016-09-17 13:07:51
【问题描述】:

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

【问题讨论】:

    标签: react-native


    【解决方案1】:

    标签的 ViewDidAppear 和 ViewWillAppear 没有回调。您可以在 TabIOSItem 子组件中传递类似 isTabAcitve 的道具。并根据 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 的替代品。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-03
      • 1970-01-01
      • 1970-01-01
      • 2012-04-29
      • 1970-01-01
      • 1970-01-01
      • 2021-03-29
      • 2011-01-16
      相关资源
      最近更新 更多