minor cleanup

This commit is contained in:
Alan Thompson 2018-11-05 14:14:02 -08:00 committed by GitHub
parent d9057eaecf
commit 48e8eb3b7f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 12 deletions

View File

@ -167,7 +167,7 @@ When reactions produce a new result (as determined by `=`), they cause other dep
The function `make-reaction`, and its macro `reaction` are used to create a `Reaction`, which is a type that belongs to a number of protocols such as `IWatchable`, `IAtom`, `IReactiveAtom`, `IDeref`, `IReset`, `ISwap`, `IRunnable`, etc. which make it atom-like: ie it can be watched, derefed, reset, swapped on, and additionally, tracks its derefs, behave reactively, and so on.
Reactions are what give `r/atom`, `r/cursor`, and function `r/cursor` and `r/wrap` their power.
Reactions are what give `r/atom`, `r/cursor`, and `r/wrap` their power.
`make-reaction` takes one argument, `f`, and an optional options map. The options map specifies what happens to `f`:
@ -177,7 +177,7 @@ Reactions are what give `r/atom`, `r/cursor`, and function `r/cursor` and `r/wra
Reactions are very useful when
* You need a way in which components only updates based on part of the ratom state. (reagent/cursor can also be used for this scenario)
* You need a way in which a component only updates based on part of the ratom state. (reagent/cursor can also be used for this scenario)
* When you want to combine two `ratoms` and produce a result
* You want the component to use some transformed value of `ratom`
@ -188,18 +188,19 @@ Here's an example:
:state-var-2 {:var-a 7
:var-b 9}}))
(def app-var2-reaction (reagent.ratom/make-reaction
(def app-var2a-reaction (reagent.ratom/make-reaction
#(get-in @app-state [:state-var-2 :var-a])))
(defn component-using-make-reaction []
[:div
[:div "component-using-make-reaction"]
[:div "Sate 2 - var a : " @app-var2-reaction]])
[:div "state-var-2 - var-a : " @app-var2a-reaction]])
```
The below example uses `reagent.ratom/reaction` macro, which provides syntactic sugar around creating reaction using `make-reaction`
The below example uses `reagent.ratom/reaction` macro, which provides syntactic sugar compared to
using plain `make-reaction`:
```
(let [username (reagent/atom "")