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

导入react-navigation/native-base报错,Expo项目寻求技术协助

Fixing "Unable to Resolve react-navigation" in Your Expo React Native Project

Hey there, let's work through this frustrating module resolution issue together! It sounds like you're hitting a common snag with outdated package versions and cached module maps—let's break down the steps to fix this:

Step 1: Uninstall the Outdated react-navigation Package

The react-navigation package you installed is from the legacy v4 era, which is no longer maintained and doesn't play nicely with modern Expo projects. First, remove it:

npm uninstall react-navigation

Step 2: Install Modern, Expo-Compatible Navigation Dependencies

For current Expo projects, you need to use the @react-navigation/native suite. Run these commands to install the core packages and required dependencies (Expo's expo install ensures versions that match your Expo SDK):

expo install @react-navigation/native react-native-screens react-native-safe-area-context

If you need stack navigation (the equivalent of the old StackNavigator), install the native stack navigator package:

npm install @react-navigation/native-stack

Step 3: Clear Expo's Cache (Critical!)

A stale cache is often the reason modules aren't being detected even after correct installation. Stop your running npm start process, then run:

expo r -c

This command clears Expo's cache and restarts the development server fresh.

Step 4: Update Your Import Statements

Legacy react-navigation imports won't work with the new packages. Here's how to update your App.js code to use the modern stack navigator:

import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
import { ListItem } from 'native-base'; // For your NativeBase ListItem

function HomeScreen() {
  return (
    <View style={styles.container}>
      <Text>Home Screen</Text>
      <ListItem>
        <Text>Sample List Item</Text>
      </ListItem>
    </View>
  );
}

const Stack = createNativeStackNavigator();

export default function App() {
  return (
    <NavigationContainer>
      <Stack.Navigator>
        <Stack.Screen name="Home" component={HomeScreen} />
      </Stack.Navigator>
    </NavigationContainer>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    alignItems: 'center',
    justifyContent: 'center',
  },
});

Step 5: Verify NativeBase Installation

If you're still having issues with ListItem, double-check that NativeBase is properly installed:

npm install native-base

Ensure your NativeBase version is compatible with your React Native and Expo SDK version (using the latest stable version usually works for most setups).

Why Your Previous Fix Didn't Work

The GitHub issue #4968 you tried was likely targeted at the legacy react-navigation v4, which doesn't apply to the modern package structure. By switching to the current @react-navigation suite and clearing the cache, you're aligning with Expo's current supported tooling.

Give these steps a try—this should resolve the module not found error and get your project running smoothly!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:46:00