Hacker News new | ask | show | jobs
by grassfedcode 3080 days ago
I've been using Stator[0] which uses a global JavaScript object with get(), set(), and connectComponentState() methods that selectively call setState() on components that connect to the global state.

It has worked really well for me on a 5k+ LOC frontend to gdb called gdbgui[1]. It's performant, but perhaps more importantly, it matches my mental model of how the code works (essentially a global setState, can log changes to the console, do type checking, etc.) so I can work more efficiently. Stator was originally part of gdbgui, but since the pattern worked so well for me I extracted it into its own library.

[0] https://github.com/cs01/stator

[1] https://github.com/cs01/gdbgui

1 comments

I like this approach, going to try it out! Thanks for sharing and for releasing good open source software (gdbgui looks great)!