реакция-навигация: могут ли экраны иметь разные имена, чем то, что передается в routeConfig? - PullRequest
0 голосов
/ 28 июня 2018

У меня есть ситуация, когда я не собираюсь, чтобы ключи, которые я передаю в конфигурации маршрута, были представлены пользователю:

const routes = {
    'tab/Search': Search,
    'tab/Scan': Scan,
    'tab/Me': Me
};

const Nav1 = createBottomTabNavigator(routes, ...);

const routes = {
    'stack/Camera': Camera,
    'stack/Home': Home,
    'stack/ItemDetails': ItemDetails,
    'stack/SearchItems': SearchItems
};

const Nav2 = createStackNavigator(routes, ...);

Мне нужно использовать эти клавиши в качестве идентификаторов для экранов в коде, чтобы я мог сказать, поступаем ли мы с экрана навигатора стека или с экрана навигатора вкладок, установив routeName.startsWith('tab/'). Можно ли изменить отображаемое имя в пользовательском интерфейсе? Спасибо.

1 Ответ

0 голосов
/ 28 июня 2018

В вашем фактическом компоненте экрана:

export class Search extends Component {
  static navigationOptions = {
    title: 'Search'
  }

  ...etc
}

Вы также можете использовать tabBarLabel в этом объекте для экранов в панели вкладок.

...