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

Проблема

У меня есть простая настройка реагирования-навигации с 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>;

drawer not working

2019-01-30_1158

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

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

Мое окружение

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

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

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

...