createStackNavigator 不是函数

use*_*000 5 javascript reactjs react-native

我正在构建我的第一个练习应用程序,并尝试使用 createAppNavigator 将屏幕之间的导航放在一起。

但是,一旦我尝试使用,createAppNavigator我就会收到以下错误。

错误图像.

相关代码:

应用程序.js

import React from 'react';
import { Home } from './app/views/Home.js';
import { Contact } from './app/views/Contact.js';
import { createStackNavigator } from 'react-navigation';

const MyRoutes = createStackNavigator({
    HomeRT: { screen: Home },
    ContactRT: { screen: Contact },
  },
  { 
    initialRouteName: 'HomeRT' 
  }
);

export default class App extends React.Component {
  render() {
    return (
      <MyRoutes />
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

我真的很困惑我做错了什么。一个想法是可能 react-navigation 没有正确安装,但除了使用之外npm install --save react-navigation,我不知道我还需要做什么。

cgl*_*cet 5

@react-navigation/stack当从 切换到 时,也会发生这种情况@react-navigation/native-stack,导入的函数名称不同:

/stack

import { createStackNavigator } from '@react-navigation/stack';
Run Code Online (Sandbox Code Playgroud)

/native-stack

import { createNativeStackNavigator } from '@react-navigation/native-stack';
Run Code Online (Sandbox Code Playgroud)

如果您忘记修改导入的函数,您将收到相同的错误消息。


小智 3

我遇到了同样的问题,然后我在终端中运行了这个

npm install --save @react-native-community/masked-view

import {createAppContainer} from "react-navigation" 
import {createStackNavigator} from "react-navigation-stack"
Run Code Online (Sandbox Code Playgroud)