【发布时间】:2020-02-18 11:01:51
【问题描述】:
我希望在我的应用程序中同时呈现抽屉导航、选项卡导航和堆栈导航。 但我收到了这个错误:
这是我的root.js 文件内容:
import 'react-native-gesture-handler';
import React from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { createMaterialTopTabNavigator } from '@react-navigation/material-top-tabs';
import {Like, Home, Search, Media, Profile, Direct, HeaderProfile, CustomDrawer } from './components/index';
import Icon from 'react-native-vector-icons/FontAwesome';
import { createStackNavigator } from '@react-navigation/stack';
import { createDrawerNavigator } from '@react-navigation/drawer';
这是标签导航代码:
const Tab =createMaterialTopTabNavigator();
const MyTabs=()=>{
return(
<Tab.Navigator>
<Tab.Screen name="Home" component={Home}/>
<Tab.Screen name="Search" component={Search} />
<Tab.Screen name="Media" component={Media} />
<Tab.Screen name="Like" component={Like} />
<Tab.Screen name="Profile" component={Profile} />
</Tab.Navigator>
)}
这是抽屉导航代码:
onst Drawer = createDrawerNavigator();
const MyDrawer=()=> {
return (
<Drawer.Navigator>
<Drawer.Screen name="Home" component={Home} />
</Drawer.Navigator>
);}
还有这个堆栈导航代码:(我已经将上面的两个组件导入到堆栈导航中)
const Stack= createStackNavigator();
const MainStack=()=>{
return(
<NavigationContainer>
<Stack.Navigator>
<Stack.Screen name="MyTabs" component={MyTabs} options={{headerShown:false}} />
<Stack.Screen name="MyDrawer" component={MyDrawer} />
<Stack.Screen name="Direct" component={Direct} />
</Stack.Navigator>
</NavigationContainer>
)}
我应该说,当我删除抽屉导航时,一切正常
这是我在profile.js 中打开抽屉的代码:
const HeaderProfile = (props) => {
const {navigation}=props;
return (
<View >
<TouchableWithoutFeedback
onPress={()=>navigation.openDrawer()}
/>
</View >
)}
我该如何解决这个问题?
【问题讨论】:
标签: reactjs react-native navigation-drawer react-navigation react-native-tabnavigator