React Navigation v3 - Значок вкладки - знак вопроса вместо значка - PullRequest
1 голос
/ 21 марта 2019

Я пытаюсь добавить значки в свой пример реагирования-навигации, который я нашел на сайте responsenavigation.org: https://reactnavigation.org/docs/en/tab-based-navigation.html

Даже эта реализация, кажется, не работает должным образом, потому что на вкладке Settings отображается значок вопроса для значка, когда он не выбран. Вот закуска, доказывающая это: https://snack.expo.io/@react-navigation/stacks-in-tabs-v3

Как изменить код, чтобы знак вопроса не появлялся?

1 Ответ

2 голосов
/ 21 марта 2019

Ты все делаешь правильно!:) Проблема на самом деле с документами.Причина, по которой вы видите знак вопроса, когда 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`;
        }

Я открыл запрос на получение , чтобы исправить это в документах, чтобы этого не случилось ни с кем другим!

...