React-Native Invariant Violation:元素类型无效

Thi*_*aka 20 javascript android ios reactjs react-native

当我要在我的iPhone Expo上运行我的反应本机应用程序时,此错误显示在红色背景区域中.

不变违规:元素类型无效:期望一个字符串(对于内置组件)或一个类/函数(对于复合组件)但得到:object.您可能忘记从其定义的文件中导出组件.

这是'src/components /'文件夹中的App.js

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


export default class App extends Component {
  render() {
    return (
    	<View>
      		<Text>Hello</Text>
      	</View>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

这是react-native app文件夹中的主要App.js.

import App from './src/components/App';
Run Code Online (Sandbox Code Playgroud)

我使用expo app运行此代码.我该如何解决这个错误?

THp*_*ubs 11

Expo希望您从中导出组件/App.js.但是现在你只是进口了/App.js.世博会没有收到任何组成部分.您需要导出导入的组件,如下所示:

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

旁注:仅在必要时使用类组件.


Mas*_*ood 7

在我的情况下,而不是像这样导出:

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

...我导出如下:

export {LoginForm};
Run Code Online (Sandbox Code Playgroud)

它工作得很好。