react-navigation V3:openDrawer()调度redux动作,但是抽屉没有打开,放开时滑动手势使吃零食

时间:2019-01-30 12:13:05

标签: react-native react-navigation react-navigation-drawer

问题

我使用reduxAppNavigator进行了简单的反应导航设置,以跟踪路线。它由3个堆栈式屏幕和一个带2个屏幕的抽屉组成。 在屏幕之间导航不是问题。但是当尝试打开抽屉时,我得到了 以下行为:

  1. 即使将动作(toggleDraweropenDrawer调度到redux存储,抽屉也不会响应Navigtation/OPEN_DRAWERNavigtation/TOGGLE_DRAWER(请参见下面的视频)< / li>
  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上。

我不确定这是否是反应导航错误,或者我的实现中有什么错误。任何帮助将不胜感激。

0 个答案:

没有答案