This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-07-02
Channels
- # announcements (1)
- # beginners (119)
- # calva (2)
- # cider (40)
- # cljsrn (14)
- # clojure (145)
- # clojure-dev (122)
- # clojure-europe (4)
- # clojure-italy (9)
- # clojure-nl (5)
- # clojure-spec (2)
- # clojure-uk (32)
- # clojuredesign-podcast (1)
- # clojurescript (10)
- # cursive (44)
- # data-science (1)
- # datomic (53)
- # defnpodcast (6)
- # emacs (6)
- # fulcro (13)
- # garden (25)
- # graalvm (3)
- # graphql (7)
- # jobs (3)
- # liberator (4)
- # nrepl (1)
- # off-topic (21)
- # quil (27)
- # reagent (4)
- # reitit (2)
- # remote-jobs (1)
- # ring-swagger (3)
- # shadow-cljs (3)
- # spacemacs (24)
- # sql (29)
- # tools-deps (68)
- # xtdb (2)
Question for the room: What is everyones preference for binding event handlers in Reagent components? Do you do it in the component or outside or when do you extract it from the component itself. e.g.
(defn form-2
[]
(let [atom (r/atom ...)
event-handler #(...)]
(fn []
(let []
[complex-component {:on-click event-handler}]))))
(defn form-2
[]
(let [atom (r/atom ...)]
(fn []
(let [event-handler #(...)]
[complex-component {:on-click event-handler}]))))
(defn event-handler []
...)
(defn form-2
[]
(let [atom (r/atom ...)]
(fn []
[complex-component {:on-click event-handler}])))
Isn't the second way to do it an anti-pattern, because the functions identity will be different every time and trigger a re-render? Apart from that, I agree with @U4YGF4NGM
It can be, yes. Depends on whether or not it’s causing performance issues.