React Navigation

Tab Navigator

タブ形式の画面遷移定義

React Navigationでは以下の三種類のタブ切り替え方法が用意されています。

タブを使う場合の画面定義の方法はスタック形式での定義方法とほぼ同じです。

import { createBottomTabNavigator} from '@react-navigation/bottom-tabs';
const Tab = createBottomTabNavigator();
export default function App() {
return (
<NavigationContainer>
<Tab.Navigator>
<Tab.Screen name="Home" component={HomeScreen} />
<Tab.Screen name="Settings" component={SettingsScreen} />
</Tab.Navigator>
</NavigationContainer>
);
}

タブバーにアイコンを表示するにはoptionsプロパティでtabBarIconを指定します。また、タブバーに表示される文字列はtitleで指定します。

        <Tab.Screen name="Home" component={HomeScreen}
options={{ title: 'ホーム', // tabBarIconには「アイコンとして表示するReact要素を返す関数」を指定する
tabBarIcon: ({color, size}) => (
<Ionicons name="ios-home" color={color} size={size} />
)
}}
/>

上の例で使っているIoniconsは@expo/vector-iconsパッケージ(デフォルトでインストールされています)で提供されているコンポーネントです。@expo/vector-iconsは他にもフリーのアイコン集が収録されています。アイコンは以下のURLで検索することができます。
https://icons.expo.fyi/