Por Que Você Deve Mudar de Bibliotecas de Ícones

Mudar do @expo/vector-icons para os pacotes oficiais do @react-native-vector-icons reduz o tamanho do seu bundle em 4MB ou mais. A Expo agora recomenda essa mudança.

O antigo @expo/vector-icons era um wrapper. Ele ajudava os ícones a funcionarem com o Expo Go e atualizações over-the-air. No entanto, esse wrapper adicionava complexidade. A Expo precisava usar transformações do Babel para fazê-lo funcionar. Isso gerava trabalho extra de manutenção.

Os novos pacotes funcionam de forma diferente. Eles se integram diretamente ao expo-font. Eles utilizam APIs nativas de carregamento de fontes. Isso significa que funcionam no Expo Go, em builds de desenvolvimento e em aplicativos de produção.

Benefícios da mudança:

Como migrar:

  1. Execute o codemod: Use npx @react-native-vector-icons/codemod na raiz do seu projeto.
  2. Verifique a mudança: Execute npx expo doctor para encontrar pacotes antigos.
  3. Verifique o expo-font: Certifique-se de que ele está instalado e configurado. Não adicione caminhos de fontes do node_modules diretamente ao config plugin.

Fique atento a estes problemas:

A Expo irá descontinuar o @expo/vector-icons em uma versão futura. Fazer essa mudança agora simplifica seu projeto e melhora o desempenho.

Fonte: https://dev.to/expo/why-you-should-drop-expovector-icons-for-react-native-vector-icons-3m1n