Fork me on GitHub
#reagent
<
2023-02-24
>
sansarip17:02:09

It seems recently “signals” have become a hot topic in the mainstream frontend ecosystem! At a glance, they don’t conceptually seem too different from good ol’ ratoms? Can someone help me understand if there is a significant difference?

lilactown20:02:46

I think that there's some differences between the modern signals libraries and reagent, mainly how they handle side effects

lilactown20:02:45

reagent doesn't have a clean delineation between a reaction that is for side effects and a reaction that is meant for calculation. that makes it hard to manage the different graphs that you may want to create

lilactown20:02:06

e.g. solid has a "signal" graph, which allows you to create spreadsheet-like reactive computations, and also an "effect" graph which allows you to create nested, disposable side effects. this allows solid to replace the typical "component lifecycle" with "effect lifecycle" and remove the VDOM that React uses to keep track of components

sansarip21:02:20

Ahhh, gotcha! Seems similarish to re-frame from that description minus the stuff about lifecycles/VDOM!

lilactown03:02:05

re-frame uses some of the same words but "effects" in reactive signals are very different conceptually than effects in re-frame

Chase17:02:52

There are some clojurescript folks exploring these "signals" and their respective js libraries too if you want to see how they are approaching it. https://www.reddit.com/r/Clojure/comments/10ywila/clojurescript_bindings_to_solidjs/

🔍 2
Chase17:02:05

Haha, it seems one of those folks mentioned in that thread is you, @U4YGF4NGM

🎉 2