2015-06-30 120 views
2

我試圖訪問我的孩子組成的道具,我使用的是映射的JSON結果呈現網格行:ReactJs無法訪問道具

getRowNodes: function() { 
    return this.props.contacts.map(function(contact){ 
     return <Row 
       key={contact.id} 
       contact={contact} 
       columns={this.props.children} />; 
    }.bind(this)); 
} 

當我呈現組件,我可以安慰日誌{這一點。 props.data}並查看所有屬性,我也可以看到chrome dev工具中的所有屬性,但是,當我嘗試訪問屬性this.props.data.propertyName時,我得到了未定義的屬性。

如果我嘗試訪問任何屬性下面,我得到一個error..any想法?

enter image description here

+2

文檔說React.js可以使只有單個節點。如果有多個節點,它們應該被包裝到一個根中 –

回答

2

基里爾Slatin說:你把它包起來。

試試這個:

getRowNodes() { 
    return (
     <div> 
      {this.props.contacts.map(this._getRow)} 
     </div> 
    ); 
}, 

_getRow(contact) { 
    return (
     <Row 
      key={contact.id} 
      contact={contact} 
      columns={this.props.children} /> 
    ); 
} 

注意:我以JSX語法優化了可讀性。