Для сверстывания кастомного BottomTabNavigator в React Native с использованием Expo, вам потребуется несколько шагов.
Шаг 1: Установка зависимостей
Убедитесь, что у вас установлен npm или yarn. Перейдите в корневую папку вашего проекта и выполните следующую команду для установки зависимостей:
npminstall @react-navigation/native @react-navigation/bottom-tabs
или
yarnadd @react-navigation/native @react-navigation/bottom-tabs
Шаг 2: Настройка навигации
Создайте новый файл, например, Navigation.js, в котором будет находиться ваша настройка навигации. В этом файле импортируйте необходимые компоненты:
import React from 'react'; import { NavigationContainer } from '@react-navigation/native'; import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; const Tab = createBottomTabNavigator(); const Navigation = () => { return ( <NavigationContainer> <Tab.Navigator> {/* Здесь добавляйте ваши экраны */} </Tab.Navigator> </NavigationContainer> ); }; export default Navigation;
Это базовая структура вашей навигации. Затем вы можете добавить экраны внутри навигатора с помощью компонентаTab.Screen
. Например:
<Tab.Navigator> <Tab.Screen name="Home" component={HomeScreen} /> <Tab.Screen name="Profile" component={ProfileScreen} /> </Tab.Navigator>
Шаг 3: Создание экранов
Создайте ваше приложение с кастомными экранами. Каждый экран будет отображаться при выборе соответствующей вкладки в BottomTabNavigator. Вот пример экранов:
import React from 'react'; import { View, Text } from 'react-native'; const HomeScreen = () => { return ( <View> <Text>Home Screen</Text> </View> ); }; const ProfileScreen = () => { return ( <View> <Text>Profile Screen</Text> </View> ); }; export { HomeScreen, ProfileScreen };
Шаг 4: Использование и стилизация BottomTabNavigator
Добавьте эту навигацию в ваш корневой компонент. Вы можете использовать его, как обычный компонент React:
import React from 'react'; import Navigation from './Navigation'; const App = () => { return ( <Navigation /> ); }; export default App;
Вы также можете настроить стилизацию вашего BottomTabNavigator. Например, вы можете добавить иконки и задать стили для активной и неактивной вкладки. Для этого вам потребуется дополнительно установитьreact-native-vector-icons
:
npminstall react-native-vector-icons
или
yarnadd react-native-vector-icons
Импортируйте нужные иконки:
importIcon from 'react-native-vector-icons/MaterialIcons';
Затем, чтобы добавить иконку на вкладку, используйте параметрыoptions
и
tabBarIcon
для каждого экрана:
<Tab.Navigator> <Tab.Screen name="Home" component={HomeScreen} options={{ tabBarIcon: ({ color, size }) => ( <Icon name="home" color={color} size={size} /> ), }} /> <Tab.Screen name="Profile" component={ProfileScreen} options={{ tabBarIcon: ({ color, size }) => ( <Icon name="person" color={color} size={size} /> ), }} /> </Tab.Navigator>
Вам также может понадобиться стилизация вашей навигации, например, изменение цвета фона или цвета активной вкладки. Для этого вы можете использовать параметрыscreenOptions
и
tabStyle
при настройке навигатора. Например:
<Tab.Navigator screenOptions={{ tabBarActiveTintColor: 'black', tabBarInactiveTintColor: 'gray', tabBarStyle: { backgroundColor: 'white' }, }} > {/* Добавьте ваши экраны */} </Tab.Navigator>
Теперь у вас должна быть кастомная навигация BottomTabNavigator в вашем приложении React Native, разработанная с использованием Expo. Вы можете продолжить настраивать и добавлять больше экранов и функциональности, чтобы соответствовать вашим потребностям и дизайну приложения.