2

を呼び出すときに、ドキュメントによるとom/build、オプションを送信できます。fn

  `fn - a function to apply to x before invoking f.`

私の質問は、om/transact!またはom/update!によって操作されたカーソル (x)に適用するとfn、元のカーソルはどのように影響を受けますか?

4

1 に答える 1

0

(om/build comp1 (f cursor))と同じ効果があります(om/build comp1 cursor {:fn f})

したがって、答えは、実際に何をするかに依存するというfことです。(f x)(またはそのコンテンツ) がまだカーソルである限り、その上 (om/transact!またはそのコンテンツ) を実行できますom/update!

たとえば、xis{:x 1}fis#(update-in % [:x] inc)の場合、カーソルのfに適用されます。基になる原子は変更されません。あなたまたは上にいるときは、カーソル内のアトムを操作します。次のレンダリングでは、更新された .om/transact!om/update!(f x)x(f x)x

一方、 がカーソルにならfないx場合 (例: fis )、またはom/valueをまったく実行できません。om/transact!om/update!

それが役立つことを願っています。

于 2015-08-28T01:21:28.113 に答える