Go к вкладкам вспомогательной сцены - Reaction-native-router-flux - PullRequest
1 голос
/ 22 января 2020

Это моя иерархическая структура маршрутизатора:

<Tabs
  key='tabbar'
  backToInitial
  onTabOnPress={() => {
    console.log('Back to initial and also print this');
  }}
  swipeEnabled
  hideNavBar={true}
>
  <Scene
    title='Profilo'
    key='profile'
    component={Profile}
    tabBarLabel='Profilo'
    icon={TabBarIcon}
    name='ios-person'
    titleStyle={{
      fontFamily: 'RobotoRegular', 
      fontSize: 24, 
      color: '#00b0ff'
    }}
  >
    <Scene
      title='adsf'
      key='vehicle'
      component={Vehicle}
      titleStyle={{
        fontFamily: 'RobotoRegular', 
        fontSize: 24, 
        color: '#00b0ff'
      }}
    />
  </Scene>

</Tabs>

Если я на странице Profilo и я хочу go на страницу Vehicle, я использую Actions.vehicle(), но я получить эту ошибку:

Actions.vehicle () не является функцией

Я уже пробовал с это решение , но это также не работа Как я могу решить эту проблему?

Результат подержанного snack следующий: enter image description here

1 Ответ

1 голос
/ 23 января 2020

Использование клавиши сцены действия потребует, чтобы ваша сцена находилась на том же уровне, что и другие сцены, т. Е. Сцена vehicle не может быть дочерним компонентом profile.

Кроме того, вы будете Мне нужен компонент Stack для размещения сцен profile и vehicle, чтобы вы могли вызвать Actions.{key} для правильного доступа к сценам.

Я включил перекус здесь для Вы должны играть с этим. :)

Предлагаемое решение:

<Tabs
  key='tabbar'
  backToInitial
  onTabOnPress={() => {
    console.log('Back to initial and also print this');
  }}
  swipeEnabled
  hideNavBar={true}
>
  <Stack
    title='ProfiloStack'
    key='profileStack'
  >
  <Scene
    title='Profilo'
    key='profile'
    component={Profile}
    tabBarLabel='Profilo'
    icon={TabBarIcon}
    name='ios-person'
    titleStyle={{
      fontFamily: 'RobotoRegular', 
      fontSize: 24, 
      color: '#00b0ff'
    }}
  />
    <Scene
      title='adsf'
      key='vehicle'
      component={Vehicle}
      titleStyle={{
        fontFamily: 'RobotoRegular', 
        fontSize: 24, 
        color: '#00b0ff'
      }}
    />
  </Stack>
</Tabs>
...