我做了這裏一個例子:http://jsbin.com/divubozaha/edit?js,console,output爲什麼我在使用碎片時避免使用密鑰,而在使用陣列時避免使用密鑰?
基本上,這沒有任何警告:
<div>
<h1>test1</h1>
{Math.random() > 0.5 ? <h1>test1</h1> : null}
<h1>test1</h1>
</div>
(即使有些孩子可以重新排序
但是,這觸發了臭名昭著的Each child in an array or iterator should have a unique "key" prop.
:
<div>{[
<h1>test2</h1>,
<h1>test2</h1>,
<h1>test2</h1>
]}</div>
所以,當過濾元素的子元素時,我有警告。也許在片段中有某種隱含的鍵?