2017-09-11 7 views
2

React-Nativeで試してみましょう。Javascript/React-Nativeで渡すパラメーターを更新します。

My機能は次のとおりです。

myFunction(theId = 0) { 
    return Object.keys(this.props.posts) 
    .filter(/* ADDED FILTER */) 
    .map((key, idx) => { 
     const post = this.props.posts[key]; 
     return (
     <View key={idx}> 

      <Text> 
      { post.theId } - { post.name } 
      </Text> 

      {this.myFunction(post.theId)} //THIS IS NOT GETTING EXECUTED 

     </View> 
    ); 
    }); 
} 

私はmyFunction(theId = 0)としてtheIdに値ゼロを渡している。しかし、私は関数内から再びそれを呼び出し、返されたデータの値を渡したいだとき、それはです働いていない。 theIdの価値を渡すためにここで何をする必要がありますか?私も{this.myFunction(theId=post.theId)}を試しましたが、うまくいきませんでした。

助けてください。

+0

@Chris ..私はまだES6を学んでいて、どうすればいいのか分かりません。 'myFunction =(theId = 0)=> {'しかし 'エラーで失敗しました'未定義は関数ではありません ' – Somename

+0

これは誤字ですか:' '? 'View'と' key'の間にスペースが必要です。 –

+0

関数が何をすべきかについてもっと詳しく言うことができますか?なぜそれは自分自身を呼び出す必要がありますか? 'this.props.posts'のサンプルデータを見るのもいいでしょう。 – jonahe

答えて

0

提供されたコードで引数変数を参照することはありません。

コードがオブジェクト posttheIdという名前のプロパティを探している
{this.myFunction(post.theId)} 

。それは与えられた議論を見ていない。

this.myFunction(post.theId)を電話し、post.theIdが定義されていない場合は、代わりに0を渡すことです。その場合、あなたはこのように書くでしょう。

{this.myFunction(post.theId || 0)} 

そして、引数定義を関数定義の先頭から完全に削除します。

関連する問題