0

我使用了' StackNavigator',当导航代码写入按钮事件时,我有问题要推送。但是如果我们直接对 onPress 事件进行编码,它就可以正常工作,

导入文件。

import { StackNavigator } from "react-navigation";
import SignUpScreen from "./SignUp";

推另一个正在工作:

render() {
    console.disableYellowBox = true;
    const { navigate } = this.props.navigation;
    return (
       <View style={styles.viewStyle}>
         <TouchableHighlight style = {styles.buttonStart}
             onPress={() => navigate("SignUpCompany")}>
               <Image
                 source={require('./Images/hire.png')}
               />
         </TouchableHighlight>
       </View>
    );
  }

推送另一个通过功能不起作用:

   pushcode() {
     console.log('call');
     this.props.navigation.navigate('SignUp');
   }

   render() {
    return (

     <TouchableHighlight style = {styles.buttonStart}
         onPress={this.pushcode}>
           <Image
             source={require('./Images/hire.png')}
           />
     </TouchableHighlight>

    );}

点击按钮错误:

在此处输入图像描述

谢谢。请帮我。

4

2 回答 2

2

看起来您在这一行中使用了额外的推送

this.props.navigation.navigate.push('SignUp');

试试这个对你有用

this.props.navigation.navigate('SignUp');

也许这可以帮助你

于 2017-07-29T06:18:25.390 回答
1

我认为你错过了bind构造函数中的函数——这就是为什么你得到undefined is not an object (evaluation 'this.props.navigation')。因为在函数范围内this未定义。pushcode

在您的构造函数中添加以下内容:

constructor(props) {
    super(props);

    this.pushcode = this.pushcode.bind(this);
    ...
}
于 2017-08-03T07:22:54.123 回答