React Native NavigatorIOS错误:元素类型无效,需要字符串或类/函数

时间:2016-03-07 10:27:18

标签: react-native

  

元素类型无效:期望一个字符串(对于内置组件)或   类/函数(对于复合组件)但得到:undefined。校验   ' NavigatorIOS'。

的渲染方法

这是我的代码

/**
 * Sample React Native App
 * https://github.com/facebook/react-native
 */
'use strict';

import React, {
  AppRegistry,
  StyleSheet,
  NavigatorIOS,
  View,
  Text,
} from 'react-native';

var Dashboard = require('./App/Views/Dashboard/index.ios.js');

class HackerNews extends React.Component {
    render() {
        return (

            <NavigatorIOS style={styles.container}
                tintColor='#FF6600'
                initialRoute={{
                    title: 'Hacker News',
                    Component: Dashboard,
                }}/>
        );
    }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: '#F6F6FF',
  },

});

AppRegistry.registerComponent('HackerNews', () => HackerNews);

仪表板代码:

'use strict';

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

//var api = require("../../Network/api.js");
//var Post = require("../Post/index.ios.js");

export default class Dashboard extends React.Component {
    constructor(props){
        super(props);
        this.state = {
            topStoryIDs: null,
            lastIndex: 0
        };
    }

    render(){
        return(
            <View>
                <Text>Dashboard Testing</Text>
            </View>
        );
    }
}

更新

想通了。组件应该是小写的。

2 个答案:

答案 0 :(得分:2)

已经@ qinking126能够解决这个问题了,他评论了他的回答。

我只是在这里强调他的答案。

<NavigatorIOS style={styles.container}
            tintColor='#FF6600'
            initialRoute={{
                title: 'Hacker News',
                Component: Dashboard,
            }}/>

此处 组件 应为小写

像这样: - 组件:信息中心,

感谢qinking126

答案 1 :(得分:0)

您需要在HackerNews组件中导入Dashboard类。