Context
The Icon.tsx component currently uses @expo/vector-icons (MaterialCommunityIcons). The deprecation warning comes from here.
Already Migrated ✅
- All components now use centralized
<Icon /> (~21 files)
Pending: Migrate Icon.tsx
The Icon.tsx component itself needs migration:
@expo/vector-icons → expo-symbols on iOS native
- Fallback to
@expo/vector-icons on Android/Web
Challenge
expo-symbols is in beta and:
- ✅ iOS native (SF Symbols)
- ❌ Web (doesn't work)
- ❌ Android (only Material Symbols, different API)
Proposed Solution
When expo-symbols supports web:
if (platform === 'ios') {
return <SymbolView name={name} ... /> // SF Symbols
}
return <MaterialCommunityIcons name={name} ... /> // Fallback
References
Context
The
Icon.tsxcomponent currently uses@expo/vector-icons(MaterialCommunityIcons). The deprecation warning comes from here.Already Migrated ✅
<Icon />(~21 files)Pending: Migrate Icon.tsx
The
Icon.tsxcomponent itself needs migration:@expo/vector-icons→expo-symbolson iOS native@expo/vector-iconson Android/WebChallenge
expo-symbolsis in beta and:Proposed Solution
When
expo-symbolssupports web:References