2017-05-28 20 views
0

reactjs & reduxを持つアプリをビルドし、次の問題に直面しています。小道具で応答オブジェクトにアクセスできない

だから基本的に私はこのような機能を持っている:

onAdmissionFormSubmit(e){ 
e.preventDefault(); 
const { user } = this.props 
console.log(user); 
// If I do this const id = user.member.externalMemberId .... 
// doesnt throw an error but if I log my const id it just says its undefined 
} 

それは実際に私のオブジェクトをログに記録しますがuser.member.externalMemberIdようなオブジェクトの内部のデータにアクセスしたい場合には、実際にエラーを返すのdoesntが、それは単に未定義言います。 何が間違っているのですか?

ユーザーの

コンソールログ:http://prntscr.com/fcxmou

+0

らしいです。あなたはそこにいると確信していますか? –

+0

この 'user.member.externalMemberId'を記録するとどうなりますか? –

+0

'Uncaught TypeError:未定義の 'member'のプロパティ 'を読み取れません。' それは何か...奇妙な権利ですか? – Emmanuel

答えて

0

あなたのコメントによると、あなたがthis.propsuserオブジェクトを持っていないか、あなたはpropsを持っていないのいずれかと信じて私をリードつまり、userundefinedているようですオブジェクトはthisです。
2番目の選択肢であれば、classへのハンドラメソッドがbindでない場合に起こります。この状況では、thisは、ハンドラをトリガした要素を参照し、期待したようなクラスには参照しません。
あなたはclassconstructorで結合を行う必要があります: `member`はその後、定義されていないよう

constructor(props) { 
    super(props); 
    this.onAdmissionFormSubmit = this.onAdmissionFormSubmit.bind(this); 
} 
+0

はい私はそれを縛るのを忘れました! – Emmanuel