Fork me on GitHub

@rauh what’s teh idea? where does perf improvement come from?


@tonsky Well I wanted to avoid the createClass since React will eventually get rid of it and many features of createClass isn't needed by Rum. And then I switched some code to JS instead of CLJ construct along the way


Not really saying that this is how rum.core should look like, I just wanted to dump this in case anybody else is working on avoiding createClass.


Well, that's great, thanks for sharing this


Can I generate components from data (which may contain function names/objects) without using defc?


Also, where does rum shines in comparison with reagent? They're both kinda almost all data, with optional React hooks, from what I've seen.


@yonatanel 1. Yes you can, just copy the build-ctor function from rum core as a starting point and you can add all kinds of logic.


A few fun stuff I do there (some only in dev): 1. Flash (a css outline) upon rerender and different color upon remount 2. Automatically assign key as the :db/id of some argument (nice with datascript) 3. Add some meta data to the component to register every mounted instance and allow to inspect the state/props of all the instances.


@yonatanel Rum is more flexible and less opinionated. Some things are very rigid in Reagent, but you can use Rum any way you want