You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native应用中React Navigation底部标签栏不显示且无报错

解决React Native底部标签导航栏不显示的问题

你的问题核心在于:你已经定义了底部标签导航组件TabNavigator,但完全没把它集成到App的导航结构里。当前App.js里只有Stack导航,Dashboard是作为Stack的独立屏幕存在,底部标签栏根本没被渲染。

修复步骤:

  1. 在App.js中导入你写的TabNavigator组件
  2. 将Stack导航里的Dashboard屏幕替换为TabNavigator,这样当导航到原Dashboard路由时,会自动渲染带底部标签的导航结构。

修改后的App.js代码:

import React from 'react'
import { Provider } from 'react-native-paper'
import { NavigationContainer } from '@react-navigation/native'
import { createStackNavigator } from '@react-navigation/stack'
import firebase from 'firebase/app'
import 'firebase/auth'
import { theme } from './src/core/theme'
import {
  AuthLoadingScreen,
  StartScreen,
  LoginScreen,
  RegisterScreen,
  ResetPasswordScreen,
  // 移除Dashboard的直接导入,它已在TabNavigator中定义
} from './src/screens'
// 导入TabNavigator,注意路径要和你的文件位置匹配
import TabNavigator from './tabnavigator'
import { FIREBASE_CONFIG } from './src/core/config'

const Stack = createStackNavigator()

if (!firebase.apps.length) {
  firebase.initializeApp(FIREBASE_CONFIG)
}

export default function App() {
  return ( 
    <Provider theme={theme}>
      <NavigationContainer>
        <Stack.Navigator
          initialRouteName="AuthLoadingScreen"
          screenOptions={{
            headerShown: false,
          }}
        >
          <Stack.Screen
            name="AuthLoadingScreen"
            component={AuthLoadingScreen} />
          
          <Stack.Screen name="StartScreen" component={StartScreen} />
          <Stack.Screen name="LoginScreen" component={LoginScreen} />
          <Stack.Screen name="RegisterScreen" component={RegisterScreen} />
          {/* 把原Dashboard屏幕替换为TabNavigator */}
          <Stack.Screen name="Dashboard" component={TabNavigator} />
          <Stack.Screen name="ResetPasswordScreen" component={ResetPasswordScreen} />
        </Stack.Navigator>
       </NavigationContainer>
    </Provider>
  )
}

额外注意:

  • 确认TabNavigator的导入路径正确,如果你的tabnavigator.js不在根目录,要调整路径(比如./src/navigation/tabnavigator)
  • 原TabNavigator里已经包含Dashboard和Agencyhome,所以App.js无需再单独导入Dashboard
  • 当你的Auth逻辑跳转到Dashboard路由时,底部标签导航栏就会自动显示

内容的提问来源于stack exchange,提问作者Medic305

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 00:05:22