2017-05-23 6 views
0

Hallo Ich habe einige Probleme mit dem NavigatorIOS in meiner App, es gibt mir den Fehler: 'undefined ist kein Objekt (Bewertung' this.props.navigator.push '). Ich habe versucht, einige Beispiele zu sehen, aber ich kann den Fehler nicht sehen, kann mir jemand helfen? Hier ist der Code:NavigatorIOS Probleme

import React, { Component, PropTypes } from 'react'; 
import Dimensions from 'Dimensions'; 
import Menu from './Menu' 
import { 
    AppRegistry, 
    StyleSheet, 
    Image, 
    TouchableHighlight, 
    NavigatorIOS, 
    FadeInView, 
    Text, 
    View 
} from 'react-native'; 


class Home extends React.Component { 
    constructor(props, context) { 
    super(props, context); 
    this.onForward = this.onForward.bind(this); 
    } 

    onForward(Menu){ 
    this.props.navigator.push({ 
     component: Menu, 
     title: "Menu", 
     navigationBarHidden: true, 
    }); 
    } 

    render() { 
    return (
     <View style={styles.container}> 
     <Image 
      style={styles.img} 
      source={require('./img/scrittaNera.png')} 
      onLoadStart={(e) => this.setState({loading: true})} 
      /> 
     <TouchableHighlight style={styles.button} onPress={() =>  this.onForward()}> 
      <Text style={styles.buttonText}>Get Inspired</Text> 
     </TouchableHighlight> 

     </View> 
    ); 
    } 
} 

Dank

Antwort

0

Sie müssen die Funktion, um Ihre Komponente in diesem Fall zu binden, kann dies wie folgt geschehen:

<TouchableHighlight 
    style={styles.button} 
    onPress=this.onForward.bind(this)> 
.... 
</TouchableHighlight> 

Auch müssen Sie sicherstellen, Ihre Hauptkomponente ist in eine <NavigatorIOS> Komponente eingepackt. Wie zum Beispiel:

import React, { Component, PropTypes } from 'react'; 
import { NavigatorIOS, Text } from 'react-native'; 

export default class NavigatorIOSApp extends Component { 
    render() { 
    return (
     <NavigatorIOS 
     initialRoute={{ 
      component: MyScene, 
      title: 'My Initial Scene', 
     }} 
     style={{flex: 1}} 
     /> 
    ); 
    } 
} 
+0

Vielen Dank, jetzt alles so wie es sollte! –

+0

Ich bin froh, dass das für dich nützlich war. –

+0

Das Programm fing plötzlich an, einen Fehler zu geben, der besagt: Elementtyp ist ungültig: erwartet eine Zeichenfolge (für integrierte Komponenten) oder eine Klasse/Funktion (für zusammengesetzte Komponenten), aber erhalten: Objekt. Überprüfen Sie die Rendermethode von 'NavigatorIOS'. irgendwelche Hinweise auf was zu tun? –