2017-01-18 2 views
0

Ich bin sehr sehr wusste, Native (und Stackoverflow) Reagieren und ich habe mit dem Navigator arbeiten, um Bildschirme zu wechseln und ich habe noch Nachdem ich zwei Tage lang nach Hilfe gesucht hatte, war ich nicht in der Lage, eine Frage zu stellen. Mein Code gibt mir ein: "nicht definiert ist kein Objekt (Bewertung this.props.navigator)" Fehler, und dies ist der Code, den ich habe:React-Native Navigator "Undefined ist kein Objekt (Bewertung this.props.navigator)" Fehler

A Navigator Klasse:

import HomeScreen from './HomeScreen'; 

import LoginScreen from './LoginScreen' 

export default class Navigation extends Component { 
    render() { 

    return (

     <Navigator 

     initialRoute={{id:"Login"}} 

     renderScene={(route, navigator) => 
     {return this.renderScene(route, navigator)}} 
     /> 
    ); 
} 

renderScene(route, navigator) { 

    switch(route.id) { 

     case "Login": 

      return (<LoginScreen {...route.passProps} navigator={navigator}/>); 

     case "Home": 

      return (<HomeScreen {...route.passProps} navigator={navigator}/>); 

    } 
} 
} 

und eine LoginButton Komponente in einem LoginScreen.js

class LoginButton extends Component { 

    render() { 
     const routes = [{id:'LoginScreen'},{id:'HomeScreen'}]; 
     return (

      <View style={{height:50}}> 
      <Container> 
       <Content> 
        <Button style={{backgroundColor: '#eeb211'}} onPress={this.nextScreen.bind(this)} rounded >    Login Next Screen   </Button> 
       </Content> 
      </Container> 
      </View> 
     ); 
    } 
    nextScreen() { 
    this.props.navigator.push({id:"Home"}) 

    } 
} 

Antwort

0

Versuchen folgende Datei:

<Navigator 
     style={{ flex:1 }} 
     ref={(nav) => { navigator = nav; }} 
     initialRoute={{id:"Login"}} 
     renderScene={(route, navigator) => 
     {return this.renderScene(route, navigator)}} 
     /> 
Verwandte Themen