Реагировать Родной |Навигатор общается с начальной страницей - PullRequest
0 голосов
/ 21 января 2019

enter image description here

У меня есть эта настройка навигатора на моей странице маршрутов, и я ожидаю, что когда я нажимаю функцию this.props.navigation.goback, она переходит ко второмустраница, если я нахожусь на третьей странице, но, видимо, это берет меня на первую страницу.

Даже при естественном поведении возврата в Android или IOS он выводит меня на первую страницу.

Я перемещаюсь по

this.props.navigation.navigate('Screens')

NavigatorPage: здесь я использую DrawerNavigator

import {   createAppContainer ,createDrawerNavigator} from 'react-navigation';
import Dashboard from './pages/dashboard';
import Splash from './pages/Splash';
import Readmore from './pages/readmore';
import Tabs from './pages/tab';
import Check from './pages/checking';
import Search from './pages/searchpage';
import SideMenu from './componenet/sideMenu'
const AppNavigator = createDrawerNavigator({
 // Prac: { screen:  Check},
 Splash :{ screen:  Splash},
  Dashboard: { screen:  Dashboard},
    Readmore: { screen: Readmore },
    Tabs: { screen: Tabs },
    Search: { screen: Search }
  },
  {
    contentComponent: SideMenu,
    drawerWidth: 300,
    headerMode: 'none',
    navigationOptions: {
      headerVisible: false,
    }
   });
  export default createAppContainer(AppNavigator);

Редактировать ОДИН После этого

    const AppNavigator = createDrawerNavigator({
 // Prac: { screen:  Check},
 stacknav:{screen:stacknav}

  },
  {
    contentComponent: SideMenu,
    drawerWidth: 300,
    headerMode: 'none',
    navigationOptions: {
      headerVisible: false,
    }
   });

   const stacknav = createStackNavigator ({   Splash :{ screen:  Splash},
    Dashboard: { screen:  Dashboard},
      Readmore: { screen: Readmore },
      Tabs: { screen: Tabs },
      Search: { screen: Search } });



  export default createAppContainer(AppNavigator);

Получение ошибки этого Error

Ответы [ 3 ]

0 голосов
/ 04 февраля 2019

Ответ прост. Поместите все экраны вашего ящика в новый тэг.Затем наследуйте стек навигатора внутри ящика как ребенок.Т.е.

 const stacknav = createStackNavigator ({   Splash :{ screen:  Splash},
    Dashboard: { screen:  Dashboard},
      Readmore: { screen: Readmore },
      Tabs: { screen: Tabs },
      Search: { screen: Search } });

Const appNavigator = createdrawernavigator({ stacknav:{screen:stacknav}},{ ...}}

Надеюсь, это поможет.Извините за плохую структуру кода, так как я отвечаю с мобильного устройства.Но, несомненно, это поможет вам.Спасибо!

0 голосов
/ 06 февраля 2019

Я нашел решение, и до этого есть некоторые вещи, которые нам нужно посмотреть. Убедитесь, что каждое имя константы начинается с заглавной буквы Я не мог просто импортировать навигатор стека в навигатор ящиков из того же файла. Поэтому я помещаю стек в другой файл и экспортирую его по умолчанию прямо в мой Drawernavigator. И это исправило мою проблему

0 голосов
/ 22 января 2019

Используйте createStackNavigator вместо createDrawerNavigator.

...