React Native + NativeBase + Exponent,元素类型无效错误

时间:2017-02-21 15:44:17

标签: react-native native-base

我很反应原生,nativebase和Exponent。不幸的是,我甚至无法显示简单的组件。我花了6个多小时来解决nativebase文档中的简单教程组件问题。我觉得我只是缺少一些基本的东西,我真的很感激你的帮助。

这就是我正在做的事情: 使用Exponent XDE来运行我的项目。 根据文档安装了nativebase,此时没有错误。

main.js

'use strict';
import React, { Component } from 'react';
import {
  AppRegistry,
} from 'react-native';
import { Container } from 'native-base';
import { CardImageExample } from './component/card.js';



AppRegistry.registerComponent('main', () => CardImageExample);

card.js

import React, { Component, Image } from 'react';
import { Container, Content, Card, CardItem, Thumbnail, Text, Icon } from 'native-base';

class CardImageExample extends Component {
    render() {
        return (
            <Container>
                <Content>
                    <Card>
                        <CardItem>
                            <Thumbnail source={require('./img/penguin-icon.png')} />
                            <Text>Instrumental Songs</Text>
                            <Text note>Guitar</Text>
                        </CardItem>

                        <CardItem>                        
                            <Image style={{ resizeMode: 'cover' }} source={require('./img/penguin.jpg')} /> 
                        </CardItem>

                        <CardItem>
                            <Icon name='ios-musical-notes' style={{color : '#ED4A6A'}} />
                            <Text>Listen now</Text>                        
                        </CardItem>
                   </Card>
                </Content>
            </Container>
        );
    }
}
export default CardImageExample;

当前错误: 元素类型无效:期望一个字符串(用于内置组件)或一个类/函数(用于复合组件)但得到:undefined

我完全不知道从哪里开始。感谢。

2 个答案:

答案 0 :(得分:0)

您必须像Exponent.registerRootComponent(App)一样注册您的应用。 如果您使用的是Exponent。 示例:https://github.com/exponent/nativebase-example

答案 1 :(得分:0)

你的main.js应该喜欢

import * as Exponent from 'exponent';
import React from 'react';
import First from './src/app';
import { Container, Header, Title, Content, Button, Left, Right, Body,Icon, Separator } from 'native-base';

class App extends React.Component {
 render() {
    return <First / > ;
 }
}
Exponent.registerRootComponent(App);