我是React Native的新手。 当我在Android模拟器上运行项目时显示此错误。 我尝试了很多解决方案,但没有用。
错误日志:
不变违规:元素类型无效:
期望一个字符串(用于内置组件)或类/函数 (对于复合组件)但得到:undefined。
LoginForm.js代码:
import React, {Component} from 'react';
import {View} from 'react-native';
import {Button,Card,CardSection} from './components'
class LoginForm extends Component{
render(){
return(
<Card>
<CardSection>
<Button>
Log in
</Button>
</CardSection>
</Card>
);
}
}
export default LoginForm;
App.js代码:
import React,{Component} from 'react';
import {View} from 'react-native';
import {Header} from './components';
import LoginForm from './components';
class App extends Component{
render(){
return(
<View>
<Header headertext="Test"/>
<LoginForm />
</View>
);
}
}
export default App;
index.js
import { AppRegistry } from 'react-native';
import App from './src/App';
AppRegistry.registerComponent('second', () => App);
组件/ index.js
export * from './Button';
export * from './Card';
export * from './CardSection';
export * from './Header';
答案 0 :(得分:1)
在您的components / index.js中,您将导出除LoginForm.js之外的所有内容
因此,当您从&#34; ./ components&#34;导入LoginForm时在App.js中,它查找index.js文件并且找不到默认导出。
您可以在export * from "./LoginForm"
中添加components/index.js
,并将其作为App.js中的命名导入导入,例如:import {LoginForm} from "./components"
。
或许你可以直接import LoginForm from "./components/LoginForm"
。