Чому варто перейти на інші бібліотеки іконок

Перехід з @expo/vector-icons на офіційні пакети @react-native-vector-icons зменшує розмір вашого бандла на 4 МБ або більше. Expo тепер рекомендує цей перехід.

Старий @expo/vector-icons був обгорткою. Він допомагав іконкам працювати з Expo Go та оновленнями over-the-air. Однак ця обгортка додавала складності. Expo доводилося використовувати Babel transforms для забезпечення роботи, що створювало додаткове навантаження на підтримку.

Нові пакети працюють інакше. Вони інтегруються безпосередньо з expo-font і використовують нативні API завантаження шрифтів. Це означає, що вони працюють в Expo Go, збірках для розробки (development builds) та застосунках для продакшну.

Переваги переходу:

Як мігрувати:

  1. Запустіть codemod: використайте npx @react-native-vector-icons/codemod у корені вашого проєкту.
  2. Перевірте зміни: запустіть npx expo doctor, щоб знайти старі пакети.
  3. Перевірте expo-font: переконайтеся, що він встановлений і налаштований. Не додавайте шляхи до шрифтів із node_modules безпосередньо до конфігураційного плагіна.

Зверніть увагу на ці проблеми:

Expo оголосить @expo/vector-icons застарілим у майбутньому релізі. Здійснення цієї зміни зараз спростить ваш проєкт і покращить продуктивність.

Джерело: https://dev.to/expo/why-you-should-drop-expovector-icons-for-react-native-vector-icons-3m1n