This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-10-23
Channels
- # aws-lambda (2)
- # beginners (40)
- # calva (9)
- # cider (17)
- # clojure (84)
- # clojure-europe (13)
- # clojure-nl (1)
- # clojure-norway (77)
- # clojure-uk (26)
- # conjure (1)
- # cursive (7)
- # datomic (7)
- # events (1)
- # exercism (1)
- # gratitude (2)
- # hyperfiddle (4)
- # improve-getting-started (10)
- # jobs-discuss (12)
- # malli (4)
- # missionary (12)
- # off-topic (22)
- # other-languages (4)
- # pedestal (3)
- # portal (6)
- # reagent (6)
- # reitit (1)
- # releases (1)
- # ring (4)
- # shadow-cljs (2)
- # thejaloniki (2)
- # tools-build (27)
- # tools-deps (4)
- # vim (6)
I'm not understanding how to use forwardRef
correctly. I have a modal that is wrapped in a forward ref like so:
(def modal
(forwardRef
(fn [props ref]
[modal-panel]...))) ;; <- from
but I get an invalid hiccup tag as a result:
Uncaught Error: Assert failed: Invalid Hiccup form: [#js {"$$typeof" #object[Symbol(react.forward_ref)], :render #object[Function]} {:showing? #object[reagent.ratom.RAtom {:val true}]} nil]
(in re_com.box.v_box)
(valid-tag? tag)
at Object.reagent$impl$template$vec_to_elem [as vec_to_elem] (template.cljs:280:5)
at Object.reagent$impl$template$as_element [as as_element] (template.cljs:297:22)
at Object.reagent$impl$protocols$Compiler$as_element$arity$2 (template.cljs:318:10)
at Object.reagent$impl$protocols$as_element [as as_element] (protocols.cljs:6:16)
at template.cljs:139:37
at core.cljs:5704:36
at core.cljs:5704:35
at Object.cljs$core$IKVReduce$_kv_reduce$arity$3 (core.cljs:5708:24)
at Object.cljs$core$_kv_reduce [as _kv_reduce] (core.cljs:715:16)
at Object.cljs$core$reduce_kv [as reduce_kv] (core.cljs:2596:8)
Do I need to use adapt-react-class
or something?Yes, since forwardRef
returns a React component.
And that [modal-panel]
probably also needs to be wrapped in r/as-element
.
Yes, r/as-element
is needed: https://github.com/reagent-project/reagent/blob/a14faba55e373000f8f93edfcfce0d1222f7e71a/examples/material-ui/src/example/core.cljs#L31
I wish I had happened to navigate to that example instead of this one https://github.com/reagent-project/reagent/blob/master/examples/react-mde/src/example/core.cljs
is anyone else using clojure-lsp with reagent successfully? It seems like it cant resolve macros like r/with-let (I think because of the clj and cljs version fo reagent.core perhaps?)