【发布时间】:2021-07-12 08:14:44
【问题描述】:
我一直在尝试在我的应用程序中实现 BottomTabNavigator。在输出中,底部选项卡出现在屏幕顶部,而不是底部。
请帮助我找出错误。
App.js
import React from 'react';
import { NavigationContainer } from '@react-navigation/native';
import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons';
import PassengerScreen from './Passenger';
import Lovedones from './Lovedones';
import { createDrawerNavigator } from '@react-navigation/drawer';
const Drawer = createDrawerNavigator();
export default App=() => (
<NavigationContainer>
<Drawer.Navigator initialRouteName="Passenger" drawerPosition="right" >
<Drawer.Screen name="Passenger" component={PassengerScreen} options= {{ title:'Passenger'}} />
<Drawer.Screen name="Lovedones" component={Lovedones} options= {{ title:'loved ones!!'}} />
</Drawer.Navigator>
</NavigationContainer>
);
Passenger.js
import React from 'react';
import MaterialCommunityIcons from 'react-native-vector-icons/MaterialCommunityIcons';
import MapsScreen from './MapScreen';
import Driver from './Driver';
import EmergencyStack from './EmergencyScreen';
import AccountStack from './AccountScreen';
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
import { SafeAreaView, View } from 'react-native';
import { NavigationContainer } from '@react-navigation/native';
export default PassengerScreen=() => (
<SafeAreaView>
<Passenger/>
</SafeAreaView>
);
const Tab = createBottomTabNavigator();
Passenger=() => (
<Tab.Navigator initialRouteName="Map" tabBarOptions={{ activeTintColor: '#e91e63', }} >
<Tab.Screen name="Account" component={AccountStack} options={{ tabBarLabel: 'Account', tabBarIcon: ({ color, size}) => (<MaterialCommunityIcons name="account-box" color={"#000000"} size={30} />), }}/>
<Tab.Screen name="Driver" component={Driver} options={{ tabBarLabel: 'Driver Details', tabBarIcon: ({ color, size}) => (<MaterialCommunityIcons name="card-account-details" color={"#000000"} size={30} />), }}/>
<Tab.Screen name="Map" component={MapsScreen} options={{ tabBarLabel: 'Map', tabBarIcon: ({ color, size}) => (<MaterialCommunityIcons name="map-marker" color={"#0000FF"} size={30} />), }}/>
<Tab.Screen name="Emergency" component={EmergencyStack} options={{ tabBarLabel: 'Emergency', tabBarIcon: ({ color, size}) => (<MaterialCommunityIcons name="alarm-light" color={"#FF0000"} size={30} />), }}/>
</Tab.Navigator>
);
在 App.js 中,我创建了一个带有乘客屏幕的抽屉。在Passenger.js 中,我为底部选项卡创建了函数Passenger,它出现在屏幕底部,但它却出现在屏幕顶部。在输出中,底部选项卡出现在屏幕顶部。
【问题讨论】:
标签: react-native react-navigation react-native-navigation react-navigation-v5 react-navigation-bottom-tab