在clojurescript重新构建todomvc应用程序中,我们在todomvc.views 命名空间中找到以下代码段。
(defn todo-list
[visible-todos]
[:ul.todo-list
(for [todo @visible-todos]
^{:key (:id todo)} [todo-item todo])])
虽然我已阅读metadata上的Clojure章节,但我不太明白其目的:
^{:key
在上面的代码段中。请解释一下。
答案 0 :(得分:3)
当您有许多项目时,$(window).bind('resize', function(e){
width = $(window).width();
if (width < 767){
$("a.collapseListBt").show();
// do something here
if ($('.content-box-right').hasClass('show')){
$('.content-box-right').removeClass('show');
}
} else{
$("a.collapseListBt").hide();
$('.content-box-right').addClass('show');
}
});
是React所需要的,因此它们在群组中可以是唯一的。但最新版本的React不需要这些密钥。因此,如果您使用最新版本的reframe / Reagent,请尝试不使用:key
元数据。
此元数据相当于在组件中放置:key
。例如,你拥有的东西相当于:
:key
使用元数据方法是一种方便,在某些情况下必须比传递给组件的道具中的第一个键更容易。方法
此处还有explanation。