2017-11-14 15 views
0

問題 私はReact Nativeを使って非常に基本的なアプリを作ったので、複数のタブが必要になりました。私は、フィードやコメントタブを追加しようとしたとき、私はというエラーを取得:画面をネイティブのタブネイバーと反応させる必要がある

Uncaught Error: Route 'Feed' should declare a screen. 
For example: 

import MyScreen from './MyScreen' 
... 
Feed: { 
Screen: MyScreen, 
} 

私はこのエラーを取得していますなぜ私が呼ぶ最初のクラスは「アプリケーション」画面ですので、私は、知りませんが、どの私がスクリーンに名前を付けたものです。私はいくつかの助けがこのタブのエラーを解決するのが大好きです。ありがとうございました!

コード

import React, { Component } from 'react'; 
import { StyleSheet, Text, View, Image, TextInput, ScrollView, TouchableHighlight, Button, FlatList } from 'react-native'; 
import { Font } from 'expo'; 
import * as firebase from 'firebase'; 
import { TabNavigator } from 'react-navigation'; 

const firebaseConfig = { 
    apiKey: "API-key", 
    authDomain: "candidtwo.firebaseapp.com", 
    databaseURL: "https://candidtwo.firebaseio.com", 
    storageBucket: "candidtwo.appspot.com", 
}; 

const MyApp = TabNavigator({ 
    Feed: { 
    screen: App, 
    }, 
    CommentScreen: { 
    screen: Comments, 
    }, 
}, { 
    tabBarPosition: 'top', 
    animationEnabled: true, 
    tabBarOptions: { 
    activeTintColor: '#fe8200', 
    }, 
}); 


const firebaseApp = firebase.initializeApp(firebaseConfig); 

var fontLoaded = false; 
var ref = firebase.database().ref('posts'); 
var brightColor = ['#ffffff']; 
var darkColor = ['#D3D3D3']; 
var animalNames = ['WittyRhino','FriendlyRhino']; 
var newPostRef = ref.push(); 

var postWidth = 360; 

class App extends React.Component { 
    static navigationOptions = { 
    tabBarLabel: 'Home', 
    }; 
//App Code 
} 

class Comments extends React.Component { 
    static navigationOptions = { 
    tabBarLabel: 'Notifications', 
    }; 
render() { 
    return (
     <Button 
     onPress={() => this.props.navigation.navigate('App')} 
     title="Go to notifications" 
     /> 
    ); 
    } 
} 

const styles = StyleSheet.create({ 
    container: { 
    flex: 8, 
    backgroundColor: '#e8e8e8', 
    alignItems: 'center' 
    }, 
    button: { 
    flex: 1, 
    backgroundColor: '#e8e8e8', 
    alignItems: 'center' 
    }, 
}); 

答えて

1

は、これが役立ちます

const MyApp = TabNavigator(...) 

・ホープ前のAppコメントコンポーネントを定義します。

+0

私はここでそれらを定義します:CONSTのMyApp = TabNavigatorコンテナ({ フィード:{ 画面:アプリケーション、 }、 CommentScreen:{ 画面:コメント、 }、 }、{ tabBarPosition: '上'、 animationEnabled:true、 tabBarOptions:{ activeTintColor: '#fe8200'、 }、 });これがあなたに通知されなかった場合は – GIISE

+0

です。ごめんなさい。スタックオーバーフローがどのように人々に通知するのか分かりません。 – GIISE

+0

はい、そうでしたが、配置が間違っています。移動前の** App **と** Comments **の定義は、使用前に '... クラスAppはReact.Component {...}を継承します クラスはReact.Component {...}を継承します const MyApp = TabNavigator(...); ... ' –

関連する問題