未捕获错误:不变冲突:元素类型无效:应为字符串或类/函数,但得到:对象



我是React Native的新手,并尝试从初学者教程开始。我遵循了教程,创建了一个"Header"组件,并尝试导出和导入它,最终使用它。不幸的是,我收到了一个错误:未捕获错误:不变冲突:元素类型无效:应为字符串(用于内置组件)或类/函数,但得到了:对象。我遇到了这两个问题:

  1. 未捕获错误:不变冲突:元素类型无效:应为字符串(用于内置组件)或类/函数,但得到:object
  2. 未捕获错误:不变冲突:元素类型无效:应为字符串

但他们都没有帮我解决问题。

这些是我的文件及其内容:

index.js

import { AppRegistry } from 'react-native';
import App from './App';
AppRegistry.registerComponent('albums', () => App);

App.android.js

// Import section
import React from 'react';
import { AppRegistry } from 'react-native';
import Header from './src/components/header';
// create a component
const App = () => (
<Header />
);
// Render it to the device
AppRegistry.registerComponent('albums', () => App);

header.js

// Import labraries for making a component
import React from 'react';
import { Text } from 'react-native';
// Make a component
const Header = () => {
return <Text>Albums</Text>
};
// Make the component available to other parts of the app
export default Header;

我也尝试过导入这样的标题(但没有帮助):

import { Header } from './src/components/header';

如果能为解决这个问题提供任何帮助,我将不胜感激。提前感谢:)

第S页我使用的是React Native版本0.49.1

所以我想好了,问题是我注册了两次应用程序:

AppRegistry.registerComponent('albums', () => App);

一次在index.js中,第二次在App.android.js中。我通过从index.js.中删除注册来解决这个错误

无论如何都要感谢帮助者:)

更改此形式:

import { Header } from './src/components/header';

至:

import  Header  from './src/components/header';

在index.js中更改:

import App from './App';

import App from './App.android'; 

希望这会有所帮助。

相关内容

  • 没有找到相关文章

最新更新