This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-10-24
Channels
- # announcements (1)
- # aws (2)
- # beginners (147)
- # boot (19)
- # cider (57)
- # clara (52)
- # cljdoc (18)
- # cljs-dev (14)
- # cljsrn (4)
- # clojure (176)
- # clojure-conj (9)
- # clojure-dev (9)
- # clojure-germany (2)
- # clojure-italy (4)
- # clojure-spec (13)
- # clojure-uk (56)
- # clojurescript (72)
- # code-reviews (11)
- # cursive (17)
- # data-science (1)
- # datomic (52)
- # duct (26)
- # emacs (6)
- # events (9)
- # figwheel (1)
- # figwheel-main (21)
- # fulcro (132)
- # funcool (1)
- # graphql (3)
- # jobs-discuss (42)
- # leiningen (3)
- # luminus (45)
- # mount (10)
- # off-topic (2)
- # re-frame (17)
- # reagent (12)
- # reitit (20)
- # ring-swagger (7)
- # rum (3)
- # shadow-cljs (256)
- # slack-help (15)
- # sql (7)
- # tools-deps (50)
- # uncomplicate (1)
- # yada (9)
Hey guys, I am very new to clojurescript/reframe and SPAs in general. I am just playing around with learning how to do a basic app with reframe and figwheel. I am also trying out material-lite for css. I have a very simple view that I am just hardcoding up right now to just get the basic rendering working and I am getting an error in chrome dev tools when the figwheel is trying to alter the page on code changes.
react-dom.inc.js:12877 Uncaught DOMException: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.
at removeChildFromContainer ()
at unmountHostComponents ()
at commitDeletion ()
at commitAllHostEffects ()
at HTMLUnknownElement.callCallback ()
at Object.invokeGuardedCallbackDev ()
at invokeGuardedCallback ()
at commitRoot ()
at completeRoot ()
at performWorkOnRoot ()
at performWork ()
at performSyncWork ()
at requestWork ()
at scheduleWorkImpl ()
at scheduleWork ()
at scheduleRootUpdate ()
at updateContainerAtExpirationTime ()
at Object.updateContainer ()
at ReactRoot.render ()
at legacyRenderSubtreeIntoContainer ()
at render ()
at reagent$dom$render_comp ()
at Function.cljs$core$IFn$_invoke$arity$3 ()
at reagent$dom$render ()
does anyone know what I have done here, loljust a shot in the dark, but the material-lite components tend to have a bunch of wrapper elements; it's possible that one of your components is getting wrapped or moved around in the DOM, and then when Figwheel tries to remove the old one and replace it with the new one, it's trying to grab the inner element instead of the outer one.
maybe eyeball the DOM structure in the dev tools and make sure it's what you expected.
thanks, on a side note. Is there a potential better set of CSS that works well with reframe ?
if you're looking for Material Design components, that's definitely the way to go. there might already be a reagent/re-frame wrapper for them? if not, that would be a great contribution.
(full disclosure: I'm an engineer at Google and like Material Design)
(more depressing full disclosure: these are coincidences, and I in no way use Clojure at work 😞 )
Angular 2 and NgRx is like re-frame. but only in the way that white rice and water is like a delicious dinner.
they'll both {ship your website, keep you from starving}.
@camechis Haven't used material-lite before, but it looks like it's a package of both css and js that you need to include? If so, I'd tend to agree with @braden.shepherdson. Since you're new to the space, I'd suggest grabbing a plain css library (pure maybe?) and just focus on re-frame and hiccup for a while before worrying about interop with js libraries that may be doing dom manipulation
there is https://clojars.org/cljsjs/material-ui , though I haven't used it
@andrew354 Thanks, I will take a look at it
The re-frame-template allows you to get going with re-com
which might be good enough if you are experimenting (but it is NOT material UI based)
lein new re-frame <project-name> +re-com +10x