未定义不是一个函数(在'...(0,_reactNavigation.StackNavigator)...'附近)

Undefined is not a function (near '...(0,_reactNavigation.StackNavigator)...')

我正在用 React Native 做一个学习项目(天气应用程序)。我正在使用反应导航 v4。它给出了上述错误。请任何人帮助解决这个问题。

//Index.js

import React from "react";
import { AppRegistry } from 'react-native';
import App from './App';
import { name as appName } from './app.json';
import { createStore, applyMiddleware } from 'redux';
import reducer from "./reducers";
import { Provider } from 'react-redux';
import thunk from 'redux-thunk';

import { StackNavigator } from 'react-navigation';
import WeatherDetails from './screens/WeatherDetails';
import CityLists from './screens/CityLists';

const Navigation = StackNavigator({
  WeatherDetails: { screen: WeatherDetails },
  CityLists: { screen: CityLists }
});

const store = createStore(reducer, applyMiddleware(thunk));

const wrapper = () => {
  return (
    <Provider store={store}>
      <Navigation />
    </Provider>
  );
}

AppRegistry.registerComponent(appName, () => wrapper);

react-navigationv(4.0) documentation 中所述,您必须单独安装 StackNavigator。所以先安装 StackNavigator :

npm install react-navigation-stack --save

然后从 react-navigation-stack 导入 createStackNavigator :

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

现在,创建导航:

const Navigation = createStackNavigator ({
  WeatherDetails: { screen: WeatherDetails },
  CityLists: { screen: CityLists }
});