React Native,Android,undefined不是一个对象(使用TouchableHighlight评估'this.props.navigator.push')

时间:2016-11-14 11:58:10

标签: android react-native react-native-android

iam new in react native这是我的第一个项目,我的问题是当我试图启动另一个屏幕反应原生时我得到了这个错误 :undefined不是对象(评估'this.props.navigator.push') 我不知道为什么因为我没有任何反应原生的经验 这是我的代码,如果有人有想法!

    class loginApp extends Component {
  render() {
        return (
            <View style={styles.container}>
                <Text style={styles.title}>
                     Welcome Sign Up Here
                </Text>
                <View>

                    <TextInput
                        placeholder="Name"
                        style={styles.formInput}
                         />
                    <TextInput
                        placeholder="Password"
                        secureTextEntry={true}
                        style={styles.formInput}
                        />
                        <TextInput
                        placeholder="UserName"
                        style={styles.formInput}
                         />
                           <TextInput
                        placeholder="Email"
                        style={styles.formInput}
                         />
                    <TouchableHighlight onPress={this.onPress.bind(this)}  style={styles.button}>
                        <Text style={styles.buttonText}>Submit</Text>
                    </TouchableHighlight>        
                </View>
            </View>
        );
    }
    onPress()  {
  this.props.navigator.push({
     title: "Secure Page",
     component: SecureView,
  });
}; 
};

1 个答案:

答案 0 :(得分:0)

您的props不包含navigator个对象。当您创建navigator的实例时,请确保提供loginApp对象。您可以使用以下代码确保已通过navigator

class loginApp extends Component{

  constructor(props){
    super(props);

    console.log(props.navigator) // <- this will print in console if you are passing a navigator object.
  }

  ...
}