使用哪种试剂形式2组分功能自变量?

时间:2019-10-22 12:33:20

标签: clojurescript reagent reagent-forms

哪种形式更好?

list

还是这个?

b = Foo(a.data)
b.data.append(4)
print(a.data)     # Outputs [1, 2, 3, 4]
print(b.data)     # Outputs [1, 2, 3, 4]

我正在用手机写字,所以请原谅我...

2 个答案:

答案 0 :(得分:1)

除了Arity,这些功能之间还有其他区别。

第一个函数将在第一个渲染时关闭argarg2,并在以后的每次重新渲染中使用这些参数。例如。

(def a 1)
(def b 2)
[my-func a b]

无论[:div '12']a是否被更改,始终会导致b

第二个函数将在每个渲染上分别使用argarg2,并在参数更改时更新结果。

reagent docs

中寻找 Rookie错误

答案 1 :(得分:0)

我相信您的问题应该是哪个是正确的(第一个是正确的)。第二个有一个团结例外。根据您的用例,我希望定义并调用匿名函数以获取结果。考虑一下这个第一编辑:

(defn my-func [arg arg2]
  ((fn [] [:div (str arg arg2)])))