2016-04-09 47 views
2

我有一個無狀態組件形式幫手,看起來像這樣:陣營無國籍部件,其中映射函數沒有返回

import React from 'react'; 

export default(props) => { 
    var { attr, fieldAttribute } = props; 
    var label = attr.label; 
    var val = fieldAttribute.value; 
    var keys = []; 

    if(typeof val === 'object'){ 
     keys = Object.keys(val); 
    } 

    return (
     <div className="form-group"> 
      <label className="col-sm-2 control-label">{label}</label> 
      <div className="col-sm-10"> 
       {(() => { 
        if(typeof val === 'object'){ 
         keys.map(function(k){ 
          return (
           <p className="form-control-static"><span className="label label-default label-fixed">{k}</span> {val[k]}</p> 
          ) 
         }); 
        } 
        else{ 
         return (
          <p className="form-control-static">{val}</p> 
         ) 
        } 
       })()} 
      </div> 
     </div> 
    ) 
} 

在「VAL」的數據是一個字符串或JSON對象(驗證)。我的問題是與keys.map()...由於某種原因它不返回任何東西。

數據,在這種情況下,「VAL」的樣子:

{ 
    foo: 'some value of foo', 
    bar: 'some value of bar 
} 

我已經嘗試了很多不同的方式來「VAL」迭代沒有成功。我在這裏錯過了什麼?

謝謝。

回答

3

嘗試keys.map前加return聲明,因爲你需要從函數返回的結果,沒有return你的函數返回undefined,這就是爲什麼你沒有得到任何結果

return keys.map(function(k){ 
    .. 
}); 
+0

媽呀,什麼是愚蠢的疏忽..當我寫這篇哈,那是'遲'了,謝謝。 – Tomas