0

私はCRNA v0.44を使用しています。私は2画面のサインアップをしています。私は1番目の画面になっています。今は反応ナビゲーションを使って2番目の画面に移動したいです。undefinedはオブジェクトではありません( 'this.props.navigation.navigate'を評価する)(CRNA)

しかし、エラーを取得:

undefined is not an object (evaluating 'this.props.navigation.navigate')

私はインターネットを探検したボタンに小道具渡す必要がなく、方法を考え出すにできていませんか?

SignupForm.js:

import { 
    StackNavigator, 
} from 'react-navigation' 
import SignupForm2 from './SignupForm2' 
const App = StackNavigator({ 
    SignupForm2: { screen: SignupForm2 }, 
}); 
export default class SignupForm extends Component { 

render() { 
const { navigate } = this.props.navigation 
return (
<Button 
     title="Go to Jane's profile" 
     onPress={() => 
      navigate('SignupForm2', { name: 'SignupForm2' }) 
     } 
     /> 
) 
    } 
} 
+0

どこでもコンポーネントにナビゲーション小道具を渡していますか? –

答えて

0

私が最初SignupFormが同様にナビゲーターの一部で、その後、初期画面がSignupFormであることをナビゲーターに伝えるために持っていると思います。

+0

これも試しました...リモートアクセスで確認できますか? –

1

あなたのAppRegistry.registerComponentであなたのレンダリングSignupFormを考えると、代わりに以下のコードを試してみてください。また、StackNavigatorにSignupFormを組み込み、AppRegistry.registerComponentに変数Appをレンダリングする必要があります。

import { 
StackNavigator, 
} from 'react-navigation' 

import SignupForm2 from './SignupForm2' 

const App = StackNavigator({ 
    SignupForm: { screen: SignupForm } 
    SignupForm2: { screen: SignupForm2 }, 
}); 

export default class SignupForm extends Component { 

render() { 
const { navigate } = this.props.navigation 
    return (
    <Button 
     title="Go to Jane's profile" 
     onPress={() => 
     navigate('SignupForm2', { name: 'SignupForm2' }) 
     } 
    /> 
) 
} 
} 

AppRegistry.registerComponent('yourApp',() => App); 
関連する問題