如何使用ClojureScript在Reagent中将数组设置为状态

问题描述

我正在尝试创建一个名为items的状态,但是我的代码给出了一个错误,并且我不确定为什么要尝试访问这些项目并对其进行迭代。我在这里做什么错了?

(def items (r/atom ["test" "test2"]))

(defn home-page []  
  [:div#main
    [:section.section
      [:h1#s-one-greeting "Hello,I'm testing"]
      [:h2#s-one-greeting-two "blah blah blah"]]
    [:section.section
      [:p "Work history"]
      [:p "yada"]
      [:p "yada"]
      [:ul
        (for [item items]
          ^{:key item} [:li "item " item])]]])

解决方法

您正在访问items而未取消引用。因此,您尝试for遍历无效的试剂atom。只需将其切换为(for [item @items] ...),就可以了。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...