我使用reduxAppNavigator进行了简单的反应导航设置,以跟踪路线。它由3个堆栈式屏幕和一个带2个屏幕的抽屉组成。 在屏幕之间导航不是问题。但是当尝试打开抽屉时,我得到了 以下行为:
toggleDrawer
和openDrawer
调度到redux存储,抽屉也不会响应Navigtation/OPEN_DRAWER
或Navigtation/TOGGLE_DRAWER
(请参见下面的视频)< / li>
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>;
这是带有React Native Debugger的仿真器的简短视频,显示了已触发的动作,但这对屏幕没有影响。
https://www.screencast.com/t/vmHLM91362
反应导航:3.0.9 反应本机:0.57.8
问题发生在Android和IOS上。
我不确定这是否是反应导航错误,或者我的实现中有什么错误。任何帮助将不胜感激。