2016-11-23 31 views
0

從我所知道的,ES6地圖自動綁定到這個。爲什麼我需要在ES6地圖功能中使用這個

      { 
          cart.products ? 
           <span> 
           cart.products.map(product => { 

            this.product ? //here 
            <span> 
           blablabla 
           </span> 
            : 
            false 
           }) 

但不知何故產品在函數中未定義,除非我使它成爲this.product,爲什麼?

+0

我不好。我應該標記React。這就是反應如何工作。我不喜歡那種無所謂的投票。 –

+0

綁定意味着它將在反應而不是函數的情況下 – abhirathore2006

回答

1

我沒有清楚地瞭解你的查詢,但我想這個問題可能是因爲{ }你已經添加了map()函數。如果您使用map()內的塊,請確保您return東西來自該塊。

當寫map()功能如果只有一個單個語句可以忌用大括號因爲它會自動返回的聲明。

array.map(item => item+1) 

如果使用大括號確保您使用return關鍵字即可返回塊內的元素。

array.map(item => { return item+1 }) 

回來到您的例子,我覺得這應該做工精細,

{ 
    cart.products 
    ? <span> 
      cart.products.map(product => <span> { product } </span>) 
     </span> 
    : false 
} 

{ 
    cart.products 
    ? <span> 
      cart.products.map(product => { return <span> { product } </span> }) 
     </span> 
    : false 
} 

我看不到內部的任何使用狀況檢查因爲它是多餘的,所以功能map()

希望這會有所幫助!如果沒有,請在這裏查詢我的相關信息。

相關問題