【问题标题】:React-Native Navigator "Undefined is not an object (evaluating this.props.navigator)" errorReact-Native Navigator“未定义不是对象(评估 this.props.navigator)”错误
【发布时间】:2017-01-18 04:16:53
【问题描述】:

我非常非常了解 React Native(和 Stackoverflow),我一直在使用 Navigator 进行切换屏幕,在研究了两天后我仍然无法这样做,所以我终于求助于发布一个问题。我的代码给了我一个:“未定义不是对象(评估 this.props.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"})

   }
}

【问题讨论】:

    标签: javascript ios react-native native navigator


    【解决方案1】:

    尝试关注:

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

    【讨论】:

      猜你喜欢
      • 2017-04-10
      • 1970-01-01
      • 2018-03-05
      • 1970-01-01
      • 1970-01-01
      • 2016-09-29
      • 1970-01-01
      • 1970-01-01
      • 2020-09-24
      相关资源
      最近更新 更多