మీరు ఎందుకు ఐకాన్ లైబ్రరీలను మార్చుకోవాలి
@expo/vector-icons నుండి అధికారిక @react-native-vector-icons ప్యాకేజీలకు మారడం వల్ల మీ బండిల్ సైజు 4MB లేదా అంతకంటే ఎక్కువ తగ్గుతుంది. Expo ఇప్పుడు ఈ మార్పును సిఫార్సు చేస్తోంది.
పాత @expo/vector-icons ఒక wrapper. ఇది ఐకాన్లు Expo Go మరియు over-the-air అప్డేట్లతో పనిచేయడానికి సహాయపడేది. అయితే, ఈ wrapper వల్ల సంక్లిష్టత పెరిగింది. ఇది పనిచేయడానికి Expo, Babel transforms ఉపయోగించాల్సి వచ్చేది. దీనివల్ల అదనపు మెయింటెనెన్స్ పని పెరిగింది.
కొత్త ప్యాకేజీలు భిన్నంగా పనిచేస్తాయి. ఇవి నేరుగా expo-fontతో అనుసంధానించబడతాయి. ఇవి నేటివ్ ఫాంట్ లోడింగ్ APIsని ఉపయోగిస్తాయి. అంటే ఇవి Expo Go, డెవలప్మెంట్ బిల్డ్స్ మరియు ప్రొడక్షన్ యాప్లలో కూడా పనిచేస్తాయి.
మారడం వల్ల కలిగే ప్రయోజనాలు:
- చిన్న బండిల్స్: ఇంపోర్ట్లను మార్చిన తర్వాత మా టెస్ట్ యాప్ సైజు 4MB తగ్గింది.
- కొత్త ఐకాన్ సెట్లు: మీకు Lucide వంటి సెట్లను ఉపయోగించుకునే అవకాశం లభిస్తుంది.
- మెరుగైన టూల్స్: మీరు ఐకాన్ పేర్లను type-check చేయవచ్చు.
- క్లీనర్ సెటప్: మీకు ఇకపై సంక్లిష్టమైన aliasing కాన్ఫిగరేషన్లు అవసరం లేదు.
ఎలా మైగ్రేట్ చేయాలి:
- codemod రన్ చేయండి: మీ ప్రాజెక్ట్ రూట్ (root)లో npx @react-native-vector-icons/codemod ఉపయోగించండి.
- మార్పును ధృవీకరించండి: పాత ప్యాకేజీలను కనుగొనడానికి npx expo doctor రన్ చేయండి.
- expo-fontను తనిఖీ చేయండి: ఇది ఇన్స్టాల్ చేయబడిందని మరియు కాన్ఫిగర్ చేయబడిందని నిర్ధారించుకోండి. node_modules నుండి ఫాంట్ పాత్లను నేరుగా config pluginకి జోడించవద్దు.
ఈ సమస్యల పట్ల జాగ్రత్తగా ఉండండి:
- ఫాంట్ సంఘర్షణలు (Font conflicts): పాత మరియు కొత్త ప్యాకేజీలను కలిపి వాడటం వల్ల ఖాళీ చతురస్రాలు లేదా ప్రశ్నార్థక గుర్తులు కనిపిస్తాయి.
- డిపెండెన్సీ సమస్యలు: కొన్ని లైబ్రరీలు పాత పేర్లను ఆశిస్తాయి. మీకు ఎర్రర్స్ కనిపిస్తే మీ డిపెండెన్సీలను తనిఖీ చేయండి.
Expo భవిష్యత్తు రిలీజ్లో @expo/vector-iconsను డిప్రికేట్ (deprecate) చేస్తుంది. ఈ మార్పును ఇప్పుడే చేయడం వల్ల మీ ప్రాజెక్ట్ సులభతరం అవుతుంది మరియు పనితీరు మెరుగుపడుతుంది.
మూలం: https://dev.to/expo/why-you-should-drop-expovector-icons-for-react-native-vector-icons-3m1n