2016-09-06 76 views
0

我已經從我的API中獲取了組,並且我可以看到它們通過了UI和道具,但不知何故顯示組的名稱並未發生。在反應中使用道具映射

這是我如何映射它:

<List> 
    {this.props.groups && this.props.groups.map((g) => 
    <ListItem key={g.Id} primaryText={g.Name} onClick={this.handleClickItem(g)} />) } 

    {(!this.props.groups || this.props.groups.length === 0) && "No groups found."} 
</List> 

redux devtools showing the data showing the props hold the data

回答

0

我看到了 '名' 屬性的小寫: 它應該 'g.name' 而不是 'g.Name'

+0

我試過,其實沒有任何運氣。 當我console.log整個對象'g'然後它通過好,但當我嘗試console.log(g.Name)它說undefined:/ – djohan

+1

他說'g'沒有一個屬性'名稱「,這就是爲什麼你沒有定義。它是小寫字母。嘗試記錄'g.name' –

0

查看您的道具的輸出,組對象中的鍵是小寫字母。 g.name不是g.Name,您收到的錯誤是由於區分大小寫。另外onClick需要你傳遞一個函數,沒有箭頭函數,當React渲染組件時,handleClickItem函數將被調用。

你的列表項成分應該是:

<ListItem 
    key={g.id} 
    primaryText={g.name} 
    onClick={() => this.handleClickItem(g) } 
/> 
0

我相信你映射一個數組的數組,這就是爲什麼你不能訪問關鍵的要素。

0

這是一個大小寫敏感的問題,因爲我導入了類型而不是模型,所以g.name現在可用並且正在工作。