2017-11-14 4 views
0

Problem Ich habe eine sehr einfache Anwendung mit React Native, und jetzt möchte ich mehrere Tabs haben. Als ich versuchte, einen Feed und Kommentare Tab hinzufügen, erhalte ich eine Fehlermeldung, dass:Notwendigkeit, Bildschirm reagieren nativen Tabnavigator

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

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

Ich weiß nicht, warum ich diese Störung erhalten, da die erste Klasse nenne ich der Bildschirm ‚App‘ ist, die ist, was ich den Bildschirm genannt habe. Ich würde gerne etwas Hilfe bekommen, um diesen Tab-Fehler zu beheben. Vielen Dank!

-Code

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' 
    }, 
}); 

Antwort

1

App Definieren und Kommentare Komponenten vor Hoffnung

const MyApp = TabNavigator(...) 

dies helfen wird.

+0

ich sie tun definieren hier: const MyApp = TabNavigator ({ Feed: { Bildschirm: App, }, CommentScreen: { Bildschirm: Kommentare, }, }, { tabBarPosition: 'top', animationEnabled: true, tabBarOptions: { activeTintColor: '# fe8200', }, }); – GIISE

+0

wenn Sie dies nicht mitgeteilt haben. Es tut uns leid. Ich weiß nicht, wie Stack Overflow die Leute benachrichtigt. – GIISE

+0

Ja, hast du, aber die Platzierung ist falsch. Move ** App ** und ** Kommentare ** Definition vor ihrer Verwendung wie '... Klasse App erweitert React.Component {...} Klasse Kommentare erweitert React.Component {...} const MyApp = TabNavigator (...); ... ' –

Verwandte Themen