Fork me on GitHub
#re-frame
<
2015-12-21
>
escherize13:12:07

New version of reagent looks pretty cool

mikethompson14:12:37

If anyone wants to test their re-frame app with the latest version of reagent (0.6.0-alpha), you'll have to use deps of [re-frame "0.7.0-alpha"] which is not yet released, but can be found in master (which means you have to clone the re-frame repo to your machine and then do a lein install to put it into your local maven repo).

mikethompson14:12:54

Or, to put that another way: beware .... the currently released version of re-frame 0.6.0 will not work with the latest reagent 0.6.0-alpha.

gabe14:12:47

@mikethompson: do you intend to use the new features of reagent in the implementation of re-frame going forward?

gabe14:12:11

It looks like reagent subsumes many of the features of re-frame now

mikethompson14:12:41

Reagent has always had reactions. There's a few new convienience functions.

gabe14:12:26

I guess I’m referring to track

mikethompson14:12:52

As I understand it, track is one of the convenience functions i talked about.

mikethompson14:12:45

At the end of the day there's still a reaction, rerunning computations.

mikethompson14:12:42

But I do need to look further. There may be more to it. But on first blush, I'm not sure it will make much difference to re-frame.

mikethompson14:12:25

In fact, there are a few features that I wish Dan would put in, but none of the ones I really need are there.

mikethompson14:12:48

Be really clear: the BIG change here is that reactions are async now and propogation through the Signal graph is based on = and not identical? That could have all sorts of implications.

mikethompson14:12:56

track is sugar simple_smile

gabe14:12:28

Yes, that change in comparison could have a huge impact is some applications

mccraigmccraig15:12:21

what are the reagent features you wish for @mikethompson ?

joshkh15:12:40

Greetings! Is this an appropriate place to ask a re-frame code organization question?

joshkh15:12:38

Great. I'm fairly new to cljs so forgive me if this is a dumb question. I'm attempting to write a fairly large scale web app with lots of moving pieces, most of which can be categorized into different buckets. Following the wiki's A Larger App section, it recommends breaking up sections of the app into their own subs/handlers/dbs/views. That makes sense. I'm trying to figure out the best way possible to include each package of subs/handlers/dbs/views without having a mondo (:require) in app.core. I have given each category a 'main' namespace which includes its own subs, views, and handlers, and then app.core includes each category's main namespace. Now the problem: If I (dispatch) from any app.category.main namespace, handlers required in the app.core namespace don't seem to exist yet.

joshkh15:12:10

1. app.core requires app.handlers which has :activate-dimmer 2. app.core requires app.category.main which calls (dispatch :activate-dimmer) 3. error: re-frame: no event handler registered for: ":activate-dimmer". Ignoring.

joshkh15:12:55

i'm sure i can debug this myself but i'm just curious if i'm organizing my code in the right way

mccraigmccraig16:12:50

@rodeorockstar: there doesn't seem anything fundamentally wrong... register-handler calls register-base which immediately registers the handler https://github.com/Day8/re-frame/blob/master/src/re_frame/handlers.cljs#L55 , so i hazard that you have some other problem

joshkh17:12:27

thanks, i suspect the same

mikethompson22:12:09

@mccraigmccraig: issues like 201, 178 are important to re-frame.

firinne23:12:07

Has anyone here built an app backed by datomic?