元素类型无效,您可能忘记了导出组件

Swi*_*ngG 0 javascript react-native react-native-ios

尝试在iOS模拟器上运行代码时出现以下错误。该错误指出“元素类型无效:应使用字符串(对于内置组件),但得到:未定义。您可能忘记了从定义文件中导出组件。”

我在其他人的帖子上看到过同样的问题,他们需要在文件末尾添加“导出默认应用程序”或在类的声明中使用“导出默认类”。

我正在关注的教程是https://medium.com/@gurusundesh/getting-started-with-react-native-mapview-5e0bd73aa602。从那以后,这可能是该文章过时了,本机也发生了变化。

任何有关如何解决此问题的建议将不胜感激。

谢谢

/**
 * Sample React Native App
 * https://github.com/facebook/react-native
 * @flow
 */

import React, { Component } from 'react';
import {
  Platform,
  StyleSheet,
  Text,
  View
} from 'react-native';
import { MapView } from 'react-native-maps';

const instructions = Platform.select({
  ios: 'Press Cmd+R to reload,\n' +
    'Cmd+D or shake for dev menu',
  android: 'Double tap R on your keyboard to reload,\n' +
    'Shake or press menu button for dev menu',
});

class App extends Component {
  render() {
    return (
      <View style={styles.container}>
        <MapView style={styles.map}
          initialRegion={{
            latitude:10,
            longitude:20,
            latitudeDelta:30,
            longitudeDelta:40
          }}
        />
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  welcome: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  },
  instructions: {
    textAlign: 'center',
    color: '#333333',
    marginBottom: 5,
  },
  map: {
    position: 'absolute',
    top: 0,
    bottom: 0,
    left: 0,
    right: 0,
  }
});

export default App;
Run Code Online (Sandbox Code Playgroud)

Ste*_*idi 5

将您的MapView导入更改为:

import MapView from 'react-native-maps';
Run Code Online (Sandbox Code Playgroud)

根据文档:https : //github.com/airbnb/react-native-maps