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导入,而非旧包。- 安装对应栈导航包:
# 原生栈导航(性能更优,推荐) npm install @react-navigation/native-stack # 或JS栈导航 npm install @react-navigation/stack react-native-screens react-native-safe-area-context - 修改导入代码:
若使用原生栈导航:
若使用JS栈导航:import { createNativeStackNavigator } from '@react-navigation/native-stack'; const Stack = createNativeStackNavigator();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
相关产品推荐
相关产品推荐

