BottomTabNavigator.js 2.5 KB

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