44 lines
1.8 KiB
Markdown
44 lines
1.8 KiB
Markdown
# Исправление ошибки lineHeight
|
||
|
||
## Проблема
|
||
При запуске приложения на iOS возникала ошибка:
|
||
```
|
||
Cannot read property 'lineHeight' of undefined
|
||
```
|
||
|
||
Ошибка происходила в компоненте Searchbar из React Native Paper при попытке получить доступ к настройкам шрифтов темы.
|
||
|
||
## Причина
|
||
В нашей кастомной темной теме не были определены настройки шрифтов (fonts). React Native Paper ожидает наличие конфигурации шрифтов с различными вариантами (displayLarge, bodyMedium и т.д.), каждый из которых должен содержать свойство lineHeight.
|
||
|
||
## Решение
|
||
Добавлены полные настройки шрифтов в тему:
|
||
|
||
1. Импортирован `configureFonts` из react-native-paper
|
||
2. Создана базовая конфигурация шрифтов с учетом платформы (iOS/Android)
|
||
3. Определены все необходимые варианты шрифтов с правильными значениями:
|
||
- fontSize
|
||
- lineHeight
|
||
- letterSpacing
|
||
- fontFamily
|
||
|
||
## Изменения в коде
|
||
|
||
```typescript
|
||
// Добавлены настройки шрифтов
|
||
fonts: configureFonts({
|
||
config: {
|
||
...baseFont,
|
||
bodyLarge: {
|
||
...baseFont,
|
||
fontSize: 16,
|
||
lineHeight: 24,
|
||
letterSpacing: 0.15,
|
||
},
|
||
// ... остальные варианты
|
||
},
|
||
}),
|
||
```
|
||
|
||
## Результат
|
||
Ошибка устранена, компонент Searchbar и другие компоненты React Native Paper теперь корректно работают с темой. |