2017-03-03 79 views
0

我想呈現反應減少中的表格。更具體地講我有一個帳戶JSON數組像這樣與1-記錄:在反應中呈現具有if條件的表格

[ 
{ 
    "size": "100", 
    "date": "6/1/2017", 
    "time": "09:23 AM", 
    "status": "Working" 
    }, 
{ 
    "size": "100", 
    "date": "6/1/2017", 
    "time": "09:23 AM", 
    "status": "Completed" 
    }, 
] 

,我想渲染完成狀況的記錄。所以當我創建我的渲染表函數時,我寫道:

if ((ordersTrades.map(orderTrade => orderTrade.status)) === 'Completed') { 
return (
    ... 
    ); 
} 

但它不返回任何內容。 ordersTrades是我的JSON的名稱。這是爲什麼?

+1

map return array [] ==='Completed'// false – Andrew

回答

1

寫這樣的,第一filter有狀態「已完成」的項目,然後使用上的地圖renderhtml

a = [ 
 
{ 
 
    "size": "100", 
 
    "date": "6/1/2017", 
 
    "time": "09:23 AM", 
 
    "status": "Working" 
 
    }, 
 
{ 
 
    "size": "100", 
 
    "date": "6/1/2017", 
 
    "time": "09:23 AM", 
 
    "status": "Completed" 
 
    }, 
 
] 
 

 
b = a.filter(el=> el.status === 'Completed') 
 

 
console.log(b); // items that have status Completed 
 

 
a.filter(el=> el.status === 'Completed').map(el=>{console.log('date', el.date) /*return here*/})

1

第一濾波器陣列來獲得您需要的項目,然後使用地圖進行照常渲染:

ordersTrades.filter(order => order.status === "Completed").map(order => (
    /* render the item */ 
)) 

https://jsfiddle.net/1h03gdzy/1/