Does anyone have some list of popular React integration libraries? I know of Reagent, reframe and fulcro. Is reagent still popular and up to date? anyone using nonreact js frameworks like vue or something else?
although reagent isn't the most hip library and some other alternatives like uix and helix that adopted more modern React features, I think reagent is still rocking and conceptually the easiest for people who know Clojure
replicant also comes to mind which avoids React completely
Thanks.
I am kinda looking for something that would be close to how a modern typescript react is written in case I need to expand to doing Typescript frontends
probably uix or helix would suit your needs best as they are designed for the modern features that you would be using in typescript as well
cljdoc recently migrated from typescript to #squint: https://github.com/cljdoc/cljdoc/blob/6e790571a252aa16fb2983710b74658210373eb3/doc/cljdoc-developer-technical-guide.adoc#front-end-code perhaps @lee can tell you more about that experience
in squint you don't need any library except react, since you can write JSX directly in squint
Cljdoc used https://preactjs.com/, so I stuck with that. In TypeScript, cljdoc tended to use https://preactjs.com/guide/v10/components#class-components, but I found switching over to https://preactjs.com/guide/v10/components#functional-components a much better fit for squint (and probably cljs in general).
Using Preact directly worked fine for cljdoc.
But note that cljdoc's front end is pretty minimal. It is mostly a server-side app.
ok - in case you need class components, you can use this in squint too: https://github.com/squint-cljs/squint/blob/main/doc/defclass.md
Yeah, I noticed defclass and tried it, but found I much preferred functional components.
By functional components do you mean hooks?
Oh itβs a special preact thing
Yeah, see links I provided above
does rebel-readline also work with a node (terminal) REPL? I normally start one with:
clj -Sdeps '{:deps {org.clojure/clojurescript {:mvn/version "RELEASE"}}}' -M -m cljs.main -re node
but the readme of rebel readline only speaks about nashorn (which is no longer supported by the JVM?)
cc @bhaumanrlwrap is very broken for me at the moment
Yeah, I notice that rlwrap is behaving crazily these days!