Ты все делаешь правильно!:) Проблема на самом деле с документами.Причина, по которой вы видите знак вопроса, когда Settings
отсутствует в focus
, заключается в том, что значок ios-options-outline
не существует!Вот пример документа:
if (routeName === 'Home') {
iconName = `ios-information-circle${focused ? '' : '-outline'}`;
IconComponent = HomeIconWithBadge;
} else if (routeName === 'Settings') {
iconName = `ios-options${focused ? '' : '-outline'}`;
}
Когда Settings
находится в focus
, iconName
будет ios-options-outline
из Ionicons
.Быстрый поиск в каталоге icon показывает, что, хотя ios-options
существует, ios-options-outline
нет.
Все, что вам нужно сделать, чтобы исправить это, это выбрать существующий значок или вообще не менять значок на основе focus
, так как tint
будет сигнализировать о выбранной вкладке в любом случае.Следующий код должен работать так, как вы хотите.
if (routeName === 'Home') {
iconName = `ios-information-circle${focused ? '' : '-outline'}`;
IconComponent = HomeIconWithBadge;
} else if (routeName === 'Settings') {
iconName = `ios-options`;
}
Я открыл запрос на получение , чтобы исправить это в документах, чтобы этого не случилось ни с кем другим!