2016-09-17 188 views

回答

2

對於製表符,沒有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不渲染一次所有選項卡,A TabBarIOS子組件是隻有在第一次按下該選項卡時,纔會初始化並安裝第一次。所以componentWillMount和componentDidMount也可以用作viewDidAppear和viewWillAppear的替代品。

相關問題