Реакции-навигация V3: openDrawer() отправляет избыточное действие, но ящик не открывается, а жест слайдера переходит обратно, когда его отпускают

Проблема

У меня есть простая настройка реагирующей навигации с reduxAppNavigator для отслеживания маршрутов. Он состоит из 3 экранов стека и ящика с 2 экранами. Навигация между экранами не является проблемой. Но при попытке открыть ящик я получаю следующее поведение:

  1. Ящик не отвечает на toggleDrawer или же openDrawer, хотя действия отправляются (Navigtation/OPEN_DRAWER & Navigtation/TOGGLE_DRAWER) в магазин редуксов (см. видео ниже)
  2. Жест слайда показывает ящик, но он щелкает назад, как только я отпущу его, и отправляет тип действия: Navigtation/MARK_DRAWER_SETTLING

Реализация

Вот мои маршруты:

import { splashRouteMap } from '@main/splash';
import { loginRouteMap } from '@modules/login';
import { onboardingRouteMap } from '@modules/onboarding';
import { homeRouteMap } from '@main/home';
import { transactionsRouteMap } from '@modules/transactions';
import { createSwitchNavigator, createDrawerNavigator } from 'react-navigation';

const DrawerNav = createDrawerNavigator(
  {
    ...transactionsRouteMap,
    ...homeRouteMap,
  },
  {
    initialRouteName: 'Transactions',
    drawerLockMode: 'unlocked',
  },
);

export const AppNavigator = createSwitchNavigator(
  {
    ...splashRouteMap,
    ...onboardingRouteMap,
    ...loginRouteMap,
    DrawerNav,
  },
  {
    initialRouteName: 'Splash',
  },
);

Моя кнопка гамбургера выглядит так:

<Button
  transparent
  onPress={() => {
    this.props.navigation.openDrawer();
  }}
>
  <Icon name="menu" />
</Button>;

ящик не работает

2019-01-30_1158

Вот короткое видео эмулятора с React Native Debugger, показывающее, что действия запускаются, но это не влияет на экран.

https://www.screencast.com/t/vmHLM91362

Моя среда

реактивная навигация: 3.0.9; реактивная: 0.57.8

Проблема возникает на Android и IOS.

Я не уверен, является ли это ошибкой реагирующей навигации или что-то не так в моей реализации. Любая помощь будет оценена.

0 ответов

Другие вопросы по тегам