2017-08-25 44 views
0

在reactjs我想顯示一個屬性。 通常情況下,這不是很難做到,但是這一次有一個數字在屬性中。這個數字取決於用戶添加了多少鏈接。反應顯示屬性與編號

這是什麼我的API返回到我的反應程序一個例子:

embed_links: ["2"] 
embed_links_0_embed_link: ["https://www.url.com"] 
embed_links_1_embed_link: ["https://www.url.com"] 

的embed_links是一個數組,它說用戶已經多少網址填寫 然後你得到了用戶的網址填入,每個人都有一個數字。

這是我卡住的地方。我試圖顯示與該鏈接的循環是這樣的:

let embed_links = this.props.embed_links[0] 
for (let i = 0; i < embed_links; i++) { 
    console.log(this.props.embed_links_[i]_embed_link[0]); 
} 

但是,這並不工作.. 所以我的問題基本上是有,你可以在顯示屬性的女巫自定義變量/數字的可能性它?

回答

1

如果你問你的對象中獲得了動力性能:

console.log(this.props["embed_links_" + i + "_embed_link"][0]);

+0

哦哇!謝謝!我不知道這也是可能的。這工作完美! – Jeroen

1

你的語法是錯誤的,寫這個正確的方法如下:

let embed_links = this.props.embed_links[0] 
for (let i = 0; i < embed_links; i++) { 
    console.log(this.props['embed_links_' + i + '_embed_link][0]); 
} 

在例如,'embed_links_' + i + '_embed_link'是用於選擇對象props的正確屬性的關鍵。

+0

謝謝!這個作品也很完美! :) – Jeroen

1

是的,你可以使用this.props['embed_links_' + i + '_embed_link'][0]

但是我建議儲存您的嵌入鏈接在一個數組對象

embed_links_collection: [ 
    { 
    url:'https://www.url.com', 
    id: '1' 
    } 
] 

這是一個更清潔,易於管理的解決方案 - 你也可以生成你的embed_links財產,因爲這.props.embed_links_collection.length

+0

感謝您的意見!我知道,只有我不能改變api的輸出,那是第三方公司...... – Jeroen

0

您可以使用for ..列舉this.props屬性