无法解析模块 @react-navigation/stack

Unable to resolve module @react-navigation/stack

我创建了一个空白项目 whit expo init 然后我安装了 react-navigation whit npm install @react-navigation/nativeexpo install react-native-gesture-handler react-native-reanimated react-native-screens react-native-safe-area-context @react-native-community/masked-view 但是当我 运行 应用程序 whit expo start 我明白了错误:无法从 C:\Android\test\App.js 解析模块 @react-navigation/stack:在项目中找不到 @react-navigation/stack。

错误截图:

App.js 文件:

import * as React from 'react';
import { View, Text } from 'react-native';
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';

function HomeScreen() {
  return (
    <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
      <Text>Home Screen</Text>
    </View>
  );
}

const Stack = createStackNavigator();

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

export default App;

link 我以前安装的react-navigation

link我曾经创造App.jshere

package.json 文件:

{
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web",
    "eject": "expo eject"
  },
  "dependencies": {
    "@react-navigation/native": "^5.9.4",
    "expo": "~41.0.0",
    "expo-status-bar": "~1.0.4",
    "react": "16.13.1",
    "react-dom": "16.13.1",
    "react-native": "https://github.com/expo/react-native/archive/sdk-41.0.0.tar.gz",
    "react-native-web": "~0.13.12",
    "react-native-gesture-handler": "~1.10.2",
    "react-native-reanimated": "~2.1.0",
    "react-native-screens": "~3.0.0",
    "react-native-safe-area-context": "3.2.0",
    "@react-native-community/masked-view": "0.1.10"
  },
  "devDependencies": {
    "@babel/core": "^7.9.0"
  },
  "private": true
}

节点版本:v14.16.1

Npm 版本:6.14.12

按照错误提示进行操作,

在终端 npm 安装@react-navigation/stack 要么 纱线添加@react-navigation/stack

我没有将 react-navigation/stack 视为 package.json 中的依赖项。

如果您看到文档的第一步,它说“我们需要安装@react-navigation/stack”。

我知道这已经有一段时间了,您可能已经找到了解决方案,但如果其他人有同样的问题,这里是解决方案:

你需要从

@react-navigation/stack

@react-navigation/native-stack

使用 npm 重新安装

npm 安装@react-navigation/native-stack

然后导入如下:

从“@react-navigation/native-stack”导入{createNativeStackNavigator}

npm 安装@react-navigation/native-stack

对我有帮助,并将 expo sdk 更新到最新版本

你需要去导入行修改

import { createStackNavigator } from '@react-navigation/stack';

import { createStackNavigator } from '@react-navigation/native-stack';