Ionicons не отображаются в реакции родной

Я пытаюсь добавить иконки в Tab Navigator с помощью Ionicons.

Я импортирую их из expo/vector-icons

import { Ionicons } from '@expo/vector-icons';

Затем я добавляю свои экраны в мой навигатор

const TabNavigator = createBottomTabNavigator(
  {
    Home: {screen: HomeStack},
    AddNew: {screen: AddNewScreen},
    Settings: {screen: SettingsStack},
  },

И инициировать мои Ionicons в NavigationOptions

{
navigationOptions: ({ navigation }) => ({

  tabBarIcon: ({ focused, tintColor }) => {

    const { routeName } = navigation.state;
    var iconName;
    if (routeName === 'Home') {
      iconName = 'add-circle-outline';
    } else if (routeName === 'AddNew') {
      iconName = 'ios-add-circle';
    } else if (routeName === 'Settings') {
      iconName = 'md-options';
    }
    return <Ionicons name={iconName} size={25} color={tintColor} />;
  },  });

Затем я установил свой AppContainer и экспортировал его

const AppContainer = createAppContainer(TabNavigator);

export default AppContainer;

Я пытался использовать MaterialIcons вместо Ionicons с такими же результатами. Моим коллегам, которые успешно внедрили ionicons, не нужно использовать AppContainer для экспорта своего навигатора, поэтому я склонен думать, что это проблема.

Занимался этим какое-то время, и у меня это не сработало.

2 ответа

Ошибка произошла из-за того, что папка expo/vector-icons не была объявлена.

Я решил это с помощью этой команды в терминале:

npm install @ expo/vector-icons

Это можно решить, добавив следующую строку в app / build.gradle

         apply from: "../../node_modules/react-native-vector-icons/fonts.gradle"

Это помогло мне получить значки, обратите внимание, не вставляйте их в android / build.gradle.

Другие вопросы по тегам