我对以下代码中使用帽子字符(^)感到困惑,该代码已从here解除。
phone-component
phone
本身就是一个函数(但不会像在向量中那样被调用)而:battery
将是一个带有^
等键的映射。
我的here表示cur.execute("INSERT INTO " + relevant_table + "VALUES (?,?,?,?,?)",
(export_date, export_morning, export_day, export_eve, export_night))
表示元数据或类型提示,但没有帮助!
这是文件:reagent-phonecat。
答案 0 :(得分:1)
首先要确保你理解key
做出的反应,因为试剂只是将它传递给React:
http://facebook.github.io/react/docs/multiple-components.html#dynamic-children
[...]您可以通过为每个孩子分配一个密钥来唯一地识别每个孩子:
[...]
当React协调键控子项时,它将确保任何具有键的子项将被重新排序(而不是被破坏)或被销毁(而不是重用)。
接下来,^{...}
构造只是将元数据附加到下一个表单:
http://clojure.org/reader#The%20Reader--Macro%20characters
注意:此示例中的不类型提示。这需要:tag
元数据密钥。
本例中的下一个表单是一个简单的向量[..]
,其中您的第一个元素是对您希望(最终)调用的组件的引用。
Reagent采用数据结构(嵌套向量)并将从中生成虚拟DOM元素并将其传递给反应。它还将调用嵌套组件。
因此,试剂将读取您返回的每个向量的元数据,并传递您指定作出反应的任何:key
。这只是为了反应可以识别每次重新渲染中的元素。
因此,在您的情况下,phone
将被传递以作为关键作出反应。请注意,该键最终将作为react元素的DOM属性中的字符串。所以最好传入一个不太长的字符串,以免弄乱你的DOM属性。
答案 1 :(得分:-1)
浏览完文件后,我可以看出手机组件是一个功能的宏。
此宏可用于调用该函数。 Macro接受电话键作为输入并返回有关电话的详细信息。