react-native创建tabbar

在使用react-native的过程中,一般都会做一些tabbar。

在这里我比较常用的是 : react-native-tab-navigator 这个第三方库

下面是效果图:

 我贴下核心代码

const dataSource = [

{icon:require('./image/icon_home_normal.png'),selectedIcon:require('./image/icon_home_selected.png'),tabPage:'Home',tabName:'首页',component:Home},

{icon:require('./image/icon_order_normal.png'),selectedIcon:require('./image/icon_order_selected.png'),tabPage:'Order',tabName:'订单',component:Order},

{icon:require('./image/icon_mine_normal.png'),selectedIcon:require('./image/icon_mine_selected.png'),tabPage:'Mine',tabName:'我的',component:Mine}

]

 

export default class App extends Component {

 

constructor(props){

super(props);

navigation = this.props.navigation;

this.state = {

selectedTab:'Home'

}

}

 

render() {

let tabbars = dataSource.map((item,i) => {

return (

<TabNavigator.Item

title={item.tabName}

selected={this.state.selectedTab===item.tabPage}

titleStyle={{color:'gray'}}

selectedTitleStyle={{color:'black'}}

renderIcon={()=><Image style={styles.tabIcon} source={item.icon}/>}

renderSelectedIcon = {() => <Image style={styles.tabIcon} source={item.selectedIcon}/>}

tabStyle={{alignSelf:'center'}}

onPress = {() => {this.setState({selectedTab:item.tabPage})}}

key={i}

>

<item.component navigation={navigation}/>

</TabNavigator.Item>

);

});

return (

<View style={styles.container}>

<TabNavigator

hidesTabTouch={true}

>

{tabbars}

</TabNavigator>

</View>

);

}

}

然后在定义三个页面的JS就可以了

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值