3
我讀http://reagent-project.github.io/宗旨: 「^ {:重點項目}」
的代碼片段有:
(defn lister [items]
[:ul
(for [item items]
^{:key item} [:li "Item " item])])
什麼是^意思{:重點項目和}我們爲什麼要它? [該文檔是指使反射速度更快。]
我讀http://reagent-project.github.io/宗旨: 「^ {:重點項目}」
的代碼片段有:
(defn lister [items]
[:ul
(for [item items]
^{:key item} [:li "Item " item])])
什麼是^意思{:重點項目和}我們爲什麼要它? [該文檔是指使反射速度更快。]
React需要識別各個列表項,以便它可以分辨出哪些已更改。否則,React只能在重新渲染時丟棄整個列表。因此,您需要添加一個密鑰。
在陣營(JSX):
<li key={item.whatever}>
{item.bar}
</li>
在試劑中,添加密鑰作爲元數據到打嗝形式。試劑負責設置React的關鍵。
^{:key (.-whatever item)} [:li (.-bar item)]
您可以使用任何唯一標識列表元素內容的東西。在ClojureScript/Reagent中,您通常會使用該項目本身。
這很清楚。謝謝! –