在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ 遍歷組件時(shí),key的傳值沒(méi)有穩(wěn)定的標(biāo)識(shí)符可選擇

遍歷組件時(shí),key的傳值沒(méi)有穩(wěn)定的標(biāo)識(shí)符可選擇

試過(guò)Math.random()生產(chǎn)隨機(jī)數(shù),這個(gè)方案不太好,內(nèi)存會(huì)爆掉,為什么?

getRandomIntInclusive = (min, max) => {
    min = Math.ceil(min)
    max = Math.floor(max)
    return Math.floor(Math.random() * (max - min + 1)) + min
}
rowKey: record => this.getRandomIntInclusive(100000, 999999),

還有其他辦法嗎?
其實(shí)是用了antd的table組件rowKey屬性傳值的方式,有其他辦法嗎


沒(méi)有穩(wěn)定的標(biāo)識(shí)符可選擇的情況下

回答
編輯回答
懶豬

rowKey: record => (text, record, index)=>{index}

2018年7月14日 13:55
編輯回答
擱淺

你就是想給table加個(gè)rowkey么
1.后端的數(shù)據(jù)一般都有個(gè)唯一的id,讓他們返回回來(lái)
2.用時(shí)間戳作為id,rowKey: record => (new Date()).getTime()
3.用隨機(jī)數(shù)內(nèi)存為什么會(huì)爆掉?

2017年7月3日 22:33
編輯回答
敢試

其實(shí)吧,遍歷的時(shí)候把i拿過(guò)來(lái)拼成key就得了,比如test_${i}
如果模塊是你寫(xiě)的那肯定不會(huì)重
如果是多人寫(xiě)一個(gè)模塊,那約定好命名規(guī)則就好了

2018年3月12日 12:07
編輯回答
晚風(fēng)眠

還是建議使用一個(gè)在數(shù)據(jù)中的不會(huì)重復(fù)的屬性作為key值;
不建議使用循環(huán)的index或者隨機(jī)數(shù)這類(lèi)會(huì)變動(dòng)的、無(wú)法綁定到數(shù)據(jù)的值作為key,不然的話會(huì)導(dǎo)致重復(fù)渲染,浪費(fèi)性能————react的key的作用也就沒(méi)了。

2018年8月15日 03:20
編輯回答
耍太極

遍歷數(shù)組時(shí),如果數(shù)組內(nèi)是對(duì)象的話,可以直接使用對(duì)象的某個(gè)惟一值的屬性,比如ID
另外可以使用遍歷的索引index.如:
[].map((o, index) => <Component key={index}/>)

antdTable組件中的rowKey你完全可以使用dataSource中的id。如:rowKey={recode => recode.id}

2018年4月4日 20:47