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

React Native导航报错:Cannot convert undefined value to object 求助

问题

报错信息:

TypeError: Cannot convert undefined value to object,js engine: hermes

App.js代码:

import React from 'react';
import { View, Text } from 'react-native';
import Home from './components/Home';
import Details from './components/Details';
import Liked from './components/Liked';
import Profile from './components/Profile';

import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from 'react-navigation-stack';
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';

const Stack = createStackNavigator();
const Tab = createBottomTabNavigator();

const TabNavigator = () => {
  return (
    <Tab.Navigator>
      <Tab.Screen name="Home" component={Home} />
      <Tab.Screen name='Liked' component={Liked} />
      <Tab.Screen name='Profile' component={Profile} />
    </Tab.Navigator>
  )
}

const App = () => {
  return (
    <NavigationContainer>
      <Stack.Navigator>
        <Stack.Screen name='TabNavigator' component={TabNavigator} />
      </Stack.Navigator>
    </NavigationContainer>
  );
};

export default App;

已重新下载node modules但问题未解决,注释掉const Stack = createStackNavigator();和const Tab = createBottomTabNavigator();后错误消失。

解决方案
  • 修正Stack导航的导入与依赖:
    react-navigation-stack是React Navigation v4及更早版本的栈导航包,当前你使用的是v5+版本的导航库,栈导航的创建方法需从@react-navigation/stack或@react-navigation/native-stack导入,而非旧包。
    1. 安装对应栈导航包:
      # 原生栈导航(性能更优,推荐)
      npm install @react-navigation/native-stack
      # 或JS栈导航
      npm install @react-navigation/stack react-native-screens react-native-safe-area-context
      
    2. 修改导入代码:
      若使用原生栈导航:
      import { createNativeStackNavigator } from '@react-navigation/native-stack';
      const Stack = createNativeStackNavigator();
      
      若使用JS栈导航:
      import { createStackNavigator } from '@react-navigation/stack';
      const Stack = createStackNavigator();
      
  • 检查Tab导航依赖:
    createBottomTabNavigator的导入路径@react-navigation/bottom-tabs是正确的,但需确保已安装该包,未安装则执行:
    npm install @react-navigation/bottom-tabs
    
  • 统一导航库版本:
    确保所有@react-navigation/*开头的依赖版本一致,版本不兼容也会导致此类未定义报错,可查看package.json统一升级到最新兼容版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 20:10:25