簡體   English   中英

React-Native Navigator“未定義不是對象(正在評估this.props.navigator)”錯誤

[英]React-Native Navigator “Undefined is not an object (evaluating this.props.navigator)” error

我對React Native(和Stackoverflow)非常了解,我一直在使用Navigator來切換屏幕,但是在研究了兩天的幫助后,我仍然無法這樣做,因此我終於提出了一個問題。 我的代碼給了我一個錯誤:“未定義不是對象(正在評估this.props.navigator)”錯誤,這是我擁有的代碼:

Navigator類:

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}/>);

    }
}
} 

和LoginScreen.js文件中的LoginButton組件

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"})

   }
}

嘗試以下操作:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM