4 ms·
State management for smaller vanilla JS projects that works 9/10 times for me: const state = new Proxy( {}, { set(target, property, val
by rpastuszak 2y ago
State management for smaller vanilla JS projects that works 9/10 times for me:
const state = new Proxy(
{},
{
set(target, property, value) {
target[property] = value;
renderUpdate();
return true;
},
}
);
I'm only 1/4(.0000000004) serious here. That said, I've been doing this for almost 30 years, I was a kid when I picked up Netscape, I have gone through every mainstream and many niche libraries/languages replacing libraries. Now, in my late 30s I finally can grow a moustache (a big achievement in my family gene pool) but the analysis paralysis is still making me anxious every time I pick up a new project.
- preact w. signals or Svelte are still my libraries of choice if I need to spike something, but that's partially because of signals and vite. The development experience is good, there isn't much magic you need to deal with on a daily basis.
- Web Components are great in many ways, but they don't solve the problems I usually have with bigger projects (scaling state, orchestration for the lack of a better phrase). Lit makes it a bit better though.
- JSX is actually not that bad, as long as you treat it as a DSL around functional composition. Native JSX + signals would probably make most of my node_modules redundant.
(please don't overthink this, I didn't)
- machiaweliczny 2y agoWhat most people need is good routing solution but it’s hard to make it with SSR. Seems like frameworks are somewhat converging now on this app router concept. Agree that JSX is great (but styles like in Svelte also).
- rpastuszak 2y ago> Agree that JSX is great (but styles like in Svelte also). Oh yeah, 100%. One of the reasons I like Svelte are colocated CSS modules. > seems like frameworks are somewhat converging now on this app router concept. That for sure, and signals in one way or another. It took us 10+ years, Solid.js then preact to bring back a pattern from 2010s (IIRC) implemented in Knockout.js. People are talking about declarative signals in HTML. I don't have a formed opinion about them yet.