React native,Element类型无效:期望一个字符串(用于内置组件)或一个类/函数(用于复合组件)但得到:undefined

时间:2017-03-21 15:49:24

标签: android reactjs react-native

我正在尝试构建我的第一个反应本机应用程序,但我一直收到此错误:

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

我搜索了一个anwser,但只看到有人:“......但得到了:对象”

以下是我的代码:

import React, { Component } from 'react';
import {
      ScrollView,
      Container,
      StyleSheet,
      Button,
      View,
      Label,
      TextInput
    } from 'react-native';

export default class Login extends Component {
  render() {
    return (
        <ScrollView style={styles.scroll}>
            <Container>
                <Button 
                    label="Forgot Login/Pass"
                    styles={{button: styles.alignRight, label: styles.label}} 
                    />
            </Container>
            <Container>
                <Label text="Username or Email" />
                <TextInput
                    style={styles.textInput}
                />
            </Container>
            <Container>
                <Label text="Password" />
                <TextInput
                    secureTextEntry={true}
                    style={styles.textInput}
                />
            </Container>
            <View style={styles.footer}>
                <Container>
                    <Button 
                        label="Sign In"
                        styles={{button: styles.primaryButton, label: styles.buttonWhiteText}} 
                        />
                </Container>
                <Container>
                    <Button 
                        label="CANCEL"
                        styles={{label: styles.buttonBlackText}} 
                        />
                </Container>
            </View>
        </ScrollView>
    );
  }
}
const styles = StyleSheet.create({
    scroll: {
        backgroundColor: '#E1D7D8',
        padding: 30,
        flexDirection: 'column'
    },
    label: {
        color: '#0d8898',
        fontSize: 20
    },
    alignRight: {
        alignSelf: 'flex-end'
    },
    textInput: {
        height: 80,
        fontSize: 30,
        backgroundColor: '#FFF'
    },
    buttonWhiteText: {
        fontSize: 20,
        color: '#FFF',
    },
    buttonBlackText: {
        fontSize: 20,
        color: '#595856'
    },
    primaryButton: {
        backgroundColor: '#34A853'
    },
    footer: {
       marginTop: 100
    }
});

有人知道问题在哪里吗?

1 个答案:

答案 0 :(得分:5)

问题是你从react-native导入了两个名为ContainerLabel的组件,这些组件不存在。