React native 之TabBar搭建--组件: createBottomTabNavigator

本文介绍如何使用 createBottomTabNavigator 替代过时的 TabNavigator,并通过具体示例展示了如何配置底部标签导航,包括设置初始界面、标签颜色及样式等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一开始使用 组件: TabNavigator 后, 切换组件的时候一直报警高:

warning Method 'jumpToIndex' is deprecated. Please upgrade your code to use jumpTo instead 'Change your code from 'jumpToIndex(1)' to 'jumpTo('...')

最后换成 组件:createBottomTabNavigator

createBottomTabNavigator使用:

import { createBottomTabNavigator } from 'react-navigation';
// 自定义组件
import FSHome from '../../Component/Home/FSHome';
import FSShops from '../../Component/Shops/FSShops';

 export default class FSMain extends Component {
      render() {
         return (
             <BottomTabNavigator />
         );
      }
}

const BottomTabNavigator = createBottomTabNavigator(
    {
       Home: {
          screen: FSHome,
          navigationOptions: {
             tabBarLabel: "首页",
             tabBarIcon: ({focused, tintColor}) => (
                 <Image
                     source={focused? {uri:"icon_tabbar_homepage_selected"} :                                                 {uri:"icon_tabbar_homepage"}}
                     style={styles.tabBarIconStyle}
                 />
             ),
          },
       },

       Shops: {
          screen: FSShops,
          navigationOptions: {
             tabBarLabel: "商家",
             tabBarIcon: ({focused, tintColor}) => (
                 <Image
                     source={focused? {uri:"icon_tabbar_merchant_selected"} :                                                 {uri:"icon_tabbar_merchant_normal"}}
                     style={styles.tabBarIconStyle}
                 />
             )
          }
       },
    },

    {
       // 初始化哪个界面为显示的第一个界面,如果不配置,默认使用RouteConfigs中的第一个页面当做根界面
       initialRouteName: "Home",
       lazy: true,
       tabBarOptions: {
          inactiveTintColor: "#8F8F8F",
          activeTintColor: "#ED5601",
          labelStyle: {
             fontSize: 11
          }
       }
    }
);

const styles = StyleSheet.create({

   tabBarIconStyle: {
      width: 30,
      height: 30,
   },
});
复制代码

备注: 尚未添加导航栏。 等待下一期!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值