BottomTabNavigator.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import { createBottomTabNavigator } from "@react-navigation/bottom-tabs";
  2. import * as React from "react";
  3. import { useTheme, Text } from "@ui-kitten/components";
  4. import TabBarIcon from "../components/TabBarIcon";
  5. import OrderScreen from "../screens/OrderScreen";
  6. import HomeScreen from "../screens/HomeScreen";
  7. import UserScreen from "../screens/UserScreen";
  8. import { useModel } from "flooks";
  9. import { useFocusEffect } from "@react-navigation/native";
  10. const BottomTab = createBottomTabNavigator();
  11. export default function BottomTabNavigator({ navigation, route }) {
  12. const theme = useTheme();
  13. const { tab1, tab2, tab3 } = useModel("wordsModel");
  14. return (
  15. <BottomTab.Navigator headerMode='none' initialRouteName='Order'>
  16. <BottomTab.Screen
  17. name='Home'
  18. component={HomeScreen}
  19. options={{
  20. tabBarLabel: ({ focused }) => (
  21. <Text
  22. category='c1'
  23. status={focused ? "primary" : "info"}
  24. >
  25. {tab1}
  26. </Text>
  27. ),
  28. tabBarIcon: ({ focused }) => (
  29. <TabBarIcon focused={focused} name='home' />
  30. ),
  31. }}
  32. />
  33. <BottomTab.Screen
  34. name='Order'
  35. component={OrderScreen}
  36. options={{
  37. tabBarLabel: ({ focused }) => (
  38. <Text
  39. category='c1'
  40. status={focused ? "primary" : "info"}
  41. >
  42. {tab2}
  43. </Text>
  44. ),
  45. tabBarIcon: ({ focused }) => (
  46. <TabBarIcon focused={focused} name='file-text' />
  47. ),
  48. }}
  49. />
  50. <BottomTab.Screen
  51. name='User'
  52. component={UserScreen}
  53. options={{
  54. tabBarLabel: ({ focused }) => (
  55. <Text
  56. category='c1'
  57. status={focused ? "primary" : "info"}
  58. >
  59. {tab3}
  60. </Text>
  61. ),
  62. tabBarIcon: ({ focused }) => (
  63. <TabBarIcon focused={focused} name='person' />
  64. ),
  65. }}
  66. />
  67. </BottomTab.Navigator>
  68. );
  69. }