几个帖子已经解决了相同的问题,但是没有一个帮助我(我是React Native的新手,所以可能有解决方案,但我找不到它)

我的代码使用路由和屏幕。
App.js:

import React from 'react';
import { StackNavigator } from 'react-navigation';

import HomeScreen from './screens/HomeScreen.js';

const App = StackNavigator({
  Home: { screen: HomeScreen }
});


HomeScreen.js:

import React, { Component } from 'react';
import { StyleSheet, Text, View, Button } from 'react-native';

export default class HomeScreen extends Component {
  onPressLearnMore() {

  }

  render() {
    return (
      <View style={styles.container}>
        <Button title="Learn More" onPress={() => this.onPressLearnMore()} />
      </View>
    );
  }
}

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


怎么了?

项目结构:

javascript - React Native,元素类型无效:需要一个字符串(对于内置组件)-LMLPHP

最佳答案

您无需在导入中定义文件类型。

更改此import HomeScreen from './screens/HomeScreen.js';

对此import HomeScreen from './screens/HomeScreen';

希望能帮助到你。

编辑:只是为了收集此答案中的所有信息,如评论中所建议,您还应该导出App.js

关于javascript - React Native,元素类型无效:需要一个字符串(对于内置组件),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46203747/

10-09 23:07