我是新手ReactNative
并开始在TabBarIOS
项目中使用组件。我有TabBarIOS
5 个不同的组件TabBarIOS.Item
Component
。这些都指向另一个要呈现的组件。这些不同的组件都有不同backgroundColor's
的样式,titles
但是当我更改时selectedTab
,更改已经发生,但组件的属性,例如backgroundColor
不影响呈现的组件。为了测试,我在每个类的componentWillMount
方法中记录了一个文本。Component
他们成功登录。这是部分组件。对于第一个Component
被命名为Restaurants
标题的标题正确显示,navigationItem
但在其他navigationItem's
标题中为空。
我将我的组件称为 ViewControllers。
class RestaurantsComponent extends Component{
componentWillMount(){
console.log('restauranscomponent will mounted');
}
render(){
return(
<View style={{flex:1, backgroundColor:'blue'}}>
<Text>ASDFSADF</Text>
</View>
)
}
}
class SearchViewController extends Component{
componentWillMount(){
console.log('search view controller will mounted');
}
render(){
return(
<View style={{flex:1, backgroundColor:'green'}}>
<Text>askfkjasljkdfjkla</Text>
</View>
)
}
}
ETC..
这是主要的标签栏Component
类:
export default class SimpleClass extends Component{
constructor(props){
super(props);
this.state = {
selectedTab: 'news'
}
}
changeTab(selectedTab){
this.setState({selectedTab})
}
render(){
const { selectedTab } = this.state
const styles = {
backgroundColor: 'red'
};
return(
<TabBarIOS barTintColor="white"
unselectedItemTintColor="gray"
tintColor="red"
style={{flex:1}}
>
<TabBarIOS.Item
selected={selectedTab === 'news'}
title="Restaurants"
icon={require('./assets/restaurants.png')}
onPress={() => this.changeTab('news')}
>
<NavigatorIOS
style={styles.nav}
initialRoute={{
component: RestaurantsComponent,
title : 'Restaurants'
}}
/>
</TabBarIOS.Item>
<TabBarIOS.Item
title="Search"
selected={selectedTab === 'news2'}
onPress={() => this.changeTab('news2')}
icon={require('./assets/searchIco.png')}
>
<NavigatorIOS
style={styles.nav}
initialRoute={{
component: AnotherComponent,
title : 'Search'
}}
/>
</TabBarIOS.Item>
...
.../>
这是navigationItem
for中的组件Restaurants
对于其他人:
我没有为屏幕截图剪切 tabBar 项目,但TabBarIOS
如果你介意的话,它可以成功。
目前是否有任何由我引起的错误或navigationItem's
标题属性发生了什么?