2017-07-26 12 views
0

私はネイティブに反応するために新しいです、なぜ私はこの未定義のようなエラーが発生しているのだろうかと疑問に思っています。私はlogin.jsのボタンを押して2番目の画面を追加しようとしています反応しない未定義はオブジェクトではありません

しかし、私は未定義のアプリの原因を開始することはできませんconstを指しているオブジェクトではありません{navigate} = props.navigation;

はここで君たち

ありがとうございました。ここに私のコード

const login = (props) => { 

    const { navigate } = props.navigation; 


    return (
     <View style={styles.container}> 

<View style={styles.img}> 
     <Image source={require('./download.png')} /> 
     </View> 
<View style={styles.but}> 
    <Button 
    onPress={() => navigate ('QR')} 
    title="Sign in" 
    color="#2f4f4f" 
/> 
</View> 

     </View> 

    ); 
} 


login.navigationOptions = { 
    title: 'Login', 
}; 


export default login 

である私のindex.android.jsある

export default class Task extends Component { 
    render() { 

    const { navigation} = this.props; 
    return (
     <Login navigation={navigation }/> 
    ) 
    } 
} 

const SimpleApp = StackNavigator({ 
    Home: {screen: Login}, 
    SecondScreen: {screen: QR} 
}); 
+0

const {navigate} ...行を削除しても、onPressイベントハンドラを削除するとどうなりますか? –

+0

const {navigate} = props.navigation; この文はナビゲーションオブジェクトのnavigateプロパティにアクセスしようとしていますが、ナビゲーションは未定義です。ナビゲーションプロパティがある場合は、ログインして、あなたの小道具を確認してください(私はそうは思わない) –

+0

@JanPeter仕事はありません。私は試しました – kurokocrunch

答えて

0

私は、この問題がでナビゲーターの誤った使用方法によって原因だと思います'index.android.js'

以下のように 'index.android.js' に変更してください:

export default class Task extends Component { 
    render() { 
    return (
     <SimpleApp /> 
    ) 
    } 
} 

const SimpleApp = StackNavigator({ 
    Home: {screen: Login}, 
    SecondScreen: {screen: QR} 
}); 

AppRegistry.registerComponent(yourAppName,() => Task); 

はそれがお役に立てば幸いです。

関連する問題