Я создаю нижнюю навигацию в собственном проекте. Он работает нормально для следующего кодирования.
Приложение. js
import React from 'react';
import { createMaterialBottomTabNavigator } from '@react-navigation/material-bottom-tabs';
import { MaterialCommunityIcons } from 'react-native-vector-icons';
import { NavigationContainer } from '@react-navigation/native'
import Accounts from './src/components/Accounts';
...importing other screens here...
const Tab = createMaterialBottomTabNavigator();
function MyTabs() {
return (
<Tab.Navigator
initialRouteName="Feed"
activeColor="#e91e63"
labelStyle={{ fontSize: 12 }}
style={{ backgroundColor: 'tomato' }}
>
<Tab.Screen name="Accounts" component={Accounts} />
...Other screens comes here...
</Tab.Navigator>
);
}
export default function App() {
return (
<NavigationContainer>
<MyTabs />
</NavigationContainer>
)
}
Но мне нужно добавить значки на вкладки. Поэтому я добавил следующие реквизиты к Screen
<Tab.Screen
name="Accounts"
component={Accounts}
options={{
tabBarLabel: 'Home',
tabBarIcon: ({ color, size }) => (
<MaterialCommunityIcons name="home" color={color} size={size} />
),
}}
/>
После добавления этого реквизита я получаю следующую ошибку
Инвариантное нарушение: Тип элемента недопустим: ожидаемая строка ( для встроенных компонентов) или класс / функция (для составных компонентов), но получили неопределенное значение. Вы, вероятно, забыли экспортировать свой компонент из файла, в котором он определен, или вы перепутали импорт по умолчанию и имена
, согласно документации, я все делаю правильно. Реквизит предлагается из документации React Navigation. Что не так в моем кодировании? Мне нужны иконки во вкладках