2017-11-11 6 views
0

パラメータが渡され、ログに表示されますが、アクセスできません。画面1はログイン画面で、スタックナビゲータ内にあり、画面2はドロワナビゲータ内にあるプロファイル画面です。画面一つにReact Native - ナビゲータを通過したパラメータを取得できません(スタックナビゲータからドロワナビゲータに)。受信:オブジェクトが定義されていません

this.props.navigation.navigate('ProfileRoute', {name: data.name}); 

作品上記ラインと正しいデータを渡すことが取り出されます。 paramsは正常に渡され、ログ内でこれを見ることができます。画面2内

は、私が「キャッチ」にしようとしたかのparamsは、渡された「コール」している様々な方法があります。

1.

<Text style={styles.name}>{this.props.navigation.params.name}</Text> 

2.

<Text style={styles.name}>{this.props.navigation.state.params.name}</Text> 

3.

<Text style={styles.name}>{this.naviation.params.name}</Text> 

私はそれを見上げていると、第一の方法は、最も推奨のようですが、私はまだ未定義のオブジェクトエラーを受け取った行の最初の部分this.props.navigation.params

要求されたパラメータに値がない場合、未定義オブジェクトエラーが発生することがあります。しかし、私はログ内でこのパラメータが値を持つことがわかります。

データを渡し、2種類のナビゲータ間でパラメータを呼び出す具体的な方法はありますか?

答えて

0

これが最後に私のために働いていたものです....前ページ内

次の画面

var {params} = this.props.navigation.state; 
let name = params.name; 

インサイド/画面

this.props.navigation.navigate('ScreenOneRoute', {name: data.name}); 

返品の中で

<Text>{name}</Text> 

注:データは、私がdbからの応答から得た情報です。

関連する問題