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.