我有一个带有DrawerNavigator的React本机应用程序。对于菜单,我有自己的组件。很好。
现在,我想在右侧添加第二个菜单。
是否可以在Slack App中拥有两个DrawerNavigator?
此解决方案不适用于我:https://snack.expo.io/ry7lYempe
因为我不想让TabController作为父级。在所有屏幕中都应该可以访问两个抽屉。
我的代码如下所示:
import React from 'react'
import reducer from './src/reducers'
import { DrawerNavigator } from 'react-navigation';
import SidebarMenu from './src/components/layout/SidebarMenu'
import { createStore } from 'redux';
import { Provider } from 'react-redux';
let store = createStore(reducer);
import News from './src/screens/News'
import HowTo from './src/screens/HowTo'
export default class MyApp extends React.Component {
render() {
return (
<Provider store={store}>
<MainNavigator />
</Provider>
);
}
}
const MainNavigator = DrawerNavigator(
{
News: {
path: '/news',
screen: News
},
HowTo: {
path: '/howto',
screen: HowTo
}
},
{
initialRouteName: 'News',
drawerPosition: 'left',
contentComponent: SidebarMenu
}
);
在将react-navigation更新到最新版本后解决。
最佳答案
您可以添加任何所需的抽屉,看看这个示例https://snack.expo.io/BJoChzewM
对于您的情况,可以在另一个DrawerNavigator组件中添加“ MainNavigator”。不要忘记设置抽屉打开路线/抽屉关闭路线以防止任何副作用。