>

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

버튼 클릭시 오류 :

감사합니다. 도와주세요.

  • 답변 # 1

    이 라인에서 추가 푸시를 사용하고있는 것처럼 보입니다

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

    이것이 당신을 위해 작동합니다

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

    이것이 도움이 될 수 있습니까?

  • 답변 # 2

    bind 기능을 놓친 것 같습니다  생성자 내에서 --- 그래서정의되지 않은 객체가 아닙니다 ( 'this.props.navigation'평가). this 때문에   pushcode 내부에 정의되어 있지 않습니다  기능 범위.

    아래에 생성자에 추가하십시오 :

    constructor(props) {
        super(props);
        this.pushcode = this.pushcode.bind(this);
        ...
    }
    
    

관련 자료

  • 이전 laravel 5 - 데이터베이스 값을 config/servicesphp 파일에 어떻게로드합니까?
  • 다음 amazon web services - 기본 시작 레벨에서 AWS Cloudformation cfn-hup이 실패 함