Respo's home page is up: respo.site

113 views
Skip to first unread message

Jiyin Yiyong

unread,
Sep 29, 2016, 4:47:29 AM9/29/16
to ClojureScript
http://respo.site

Respo is a front-end MVC library in ClojureScript. It's like Reagent but built totally in ClojureScript, so it's purer and more friendly to hot code swapping. The shortcomings is it has quite less features comparing to React.js , for example side effects.

This is the first version of the docs, small update will still come.

Dustin Getz

unread,
Sep 29, 2016, 10:43:31 AM9/29/16
to clojur...@googlegroups.com
Does Respo work with dynamic bindings in render functions? My biggest complaint with React and derivatives are broken dynamic scope.


--
Note that posts from new members are moderated - please be patient with your first post.
---
You received this message because you are subscribed to the Google Groups "ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojurescript+unsubscribe@googlegroups.com.
To post to this group, send email to clojur...@googlegroups.com.
Visit this group at https://groups.google.com/group/clojurescript.

Jiyin Yiyong

unread,
Sep 29, 2016, 9:36:18 PM9/29/16
to ClojureScript
I'm not sure about dynamic binding, could you give a demo on that?

Respo is like subset and a strict version of React. I suppose it's doing less compared to React.

On Thursday, September 29, 2016 at 10:43:31 PM UTC+8, Dustin Getz wrote:
> Does Respo work with dynamic bindings in render functions? My biggest complaint with React and derivatives are broken dynamic scope.
>
>
> On Thu, Sep 29, 2016 at 4:47 AM, Jiyin Yiyong <jiyin...@gmail.com> wrote:
> http://respo.site
>
>
>
> Respo is a front-end MVC library in ClojureScript. It's like Reagent but built totally in ClojureScript, so it's purer and more friendly to hot code swapping. The shortcomings is it has quite less features comparing to React.js , for example side effects.
>
>
>
> This is the first version of the docs, small update will still come.
>
>
>
> --
>
> Note that posts from new members are moderated - please be patient with your first post.
>
> ---
>
> You received this message because you are subscribed to the Google Groups "ClojureScript" group.
>

> To unsubscribe from this group and stop receiving emails from it, send an email to clojurescrip...@googlegroups.com.

Dustin Getz

unread,
Sep 30, 2016, 5:35:50 PM9/30/16
to clojur...@googlegroups.com

cljs.user=> (ns foo.core (:require [reagent.core :as reagent]))
nil
foo.core=> (def ^:dynamic *foo* 42)
#'foo.core/*foo*
foo.core=> (defn inner [] [:div *foo*])
#'foo.core/inner
foo.core=> (defn root1 [] (binding [*foo* (inc *foo*)] [inner]))
#'foo.core/root1
foo.core=> (defn root2 [] (binding [*foo* (inc *foo*)] (inner)))
#'foo.core/root2
foo.core=> (reagent/render-to-string [root1])
"<div ...>42</div>"
foo.core=> (reagent/render-to-string [root2])
"<div ...>43</div>"
foo.core=>

To unsubscribe from this group and stop receiving emails from it, send an email to clojurescript+unsubscribe@googlegroups.com.

jiyinyiyong

unread,
Sep 30, 2016, 10:41:22 PM9/30/16
to clojur...@googlegroups.com
Oh, no. Even if that's possible, it's not allowed to do in Respo since it's already optimized with some mechanism like `shouldComponentUpdate` to reduce renderings. It's an anti-pattern.

You received this message because you are subscribed to a topic in the Google Groups "ClojureScript" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/clojurescript/pEVrbSHFSYg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to clojurescrip...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages