2016-08-31 4 views
-1

上のマップ:私のような表現を持つようにしたいのjavascript JSX論理の結果や

<td> 
    {phones.map((phone, j) => 
    <p>{this.renderPhone(phone)}</p> 
    )} 
</td> 

が、携帯電話の配列は常に定義されない場合があります。

は、この可能性のようなものがあります:

(phones || []).map() 
+2

はい、それを確認することができます。ちょうどそれを行う。 – Hamms

+0

なぜ 'phones'配列は常に定義されませんか? –

+0

@ハム私はそれを試してエラーを受け取りました: – swami

答えて

0

あなたは、以下のように

const self = this; 
<td> 
    {phones !== undefined ? phones.map((phone, j) => 
    <p>{this.renderPhone(phone)}</p> 
    ) 
    : null} 
</td> 
+0

矢印関数は 'this'の字句値を自動的にバインドします。したがって、OPは引き続き矢印関数内で' this.renderPhone'を使用できます。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions –

+0

ありがとう非常に有益 –

関連する問題