Удалить экран из ящика Навигатор - PullRequest
0 голосов
/ 28 июня 2018

У меня есть собственная проблема с реагировать на навигацию v2 и hookNavigator. На самом деле, я хочу, чтобы в окне отображался выдвижный ящик (заголовок), но я не хочу, чтобы эта страница отображалась в ящике.

Есть мой основной ящик, и я хочу отобразить его также на ActionPage, но я не хочу, чтобы Action внутри него.

    const MainDrawer = DrawerNavigator(
  {
    Home: {
      screen: HomeStack,
      navigationOptions: {
        title: 'POČETNA',
      }
    },
    OrderP: {
      screen: OrderStack,
      navigationOptions: {
        title: 'NARUČI',
      }
    },
    CatalogP: {
      screen: CatalogStack,
      navigationOptions: {
        title: 'KATALOZI',
      }
    },
    InstructionP: {
      screen: InstructionStack,
      navigationOptions: {
        title: 'UPUTSTVO ZA PORUČIVANJE',
      }
    },
    InfoP: {
      screen: InfoStack,
      navigationOptions: {
        title: 'INFORMACIJE O APLIKACIJI'
      }
    },
    ActionP: {
      screen: ActionStack,
      navigationOptions: {
        header: null,
        title: ''
      }
    }
  }
);

и корневой стек:

const RootStack = StackNavigator(
  {
    MainDrawer: {
      screen: MainDrawer,
    },
    Contact: {
      screen: ContactPage
    },
    ActionP: {
      screen: ActionPage
    },
    News: {
      screen: NewsPage
    }
  },
  {
    headerMode: 'none'
  }
);

1 Ответ

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

Чтобы скрыть нужные страницы, вы можете изменить этот код:

// this const is used to hide desired pages
const hiddenDrawerItems = [
  'Home',
  'Profile',
]

const MainDrawer = createDrawerNavigator(
  {
    Home: { screen: HomePage },
    Profile: { screen: ProfilePage },
    // other pages
  },
  {
    // this entry is used to actually hide you pages
    contentComponent: (props) => {
      const clonedProps = {
        ...props,
        items: props.items.filter(item => !hiddenDrawerItems.includes(item.key)),
      }
      return <DrawerPage {...clonedProps} />
    },
  },
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...