首页 > 解决方案 > 反应导航 v5 中的 tabBarIcon 问题

问题描述

我想为标签导航设置一个图标,但它返回错误

这是我的代码:

<Tab.Screen name="Home" component={Home} options={{tabBarIcon:'home'}} />

这是我得到的错误:

在此处输入图像描述

我怎样才能解决这个问题?

标签: reactjsreact-nativereact-navigationtabnavigator

解决方案


您必须在tabBarOptions中将showIcon属性设置为true ,如下所示:

  <Tab.Navigator tabBarOptions={{ showIcon: true }}>

然后你可以像这样为你的屏幕设置图标:

<Tab.Screen name="Home" component={HomeScreen} options={{ tabBarIcon:(tabInfo) => (<MaterialIcons name="home" size={18} color={tabInfo.tintColor} />)}}/>

完整代码示例:

 import React from "react";
    import { createMaterialTopTabNavigator } from "@react-navigation/material-top-tabs";
    import HomeScreen from "../screens/HomeScreen";
    import { MaterialIcons } from "@expo/vector-icons";

    const Tab = createMaterialTopTabNavigator();

    const MyTabs = (props) => {
      return (
        <Tab.Navigator
          tabBarOptions={{ showIcon: true, showLabel: false }}
        >
          <Tab.Screen
            name="Home"
            component={HomeScreen}
            options={{
              tabBarIcon: (tabInfo) => (
                <MaterialIcons name="home" size={18} color={tabInfo.tintColor} />
              ),
            }}
          />
        </Tab.Navigator>
      );
    };

    export default MyTabs;

推荐阅读