chestnut

cjsauer 2017-11-28T19:09:38.000207Z

Hello again fellow chestnuts. I'm having a bit of trouble with live reloading. Specifically, project.clj has this line:

:figwheel {:on-jsload "my-app.system/reset"}
This triggers the my-app.components.ui component to reset, which triggers the core namespace's (render) function to be called, in turn causing re-frame to dispatch the :initialize-db event. The issue is that this clears my entire app-db...say for example that I'm working on some complex workflow, I'm building up app state via the UI, make a code edit, and poof, the app state I've been building up vanishes on system reset. Is there a way around this? I could sync state to local storage via some kind of interceptor, but that seems heavy handed.

2017-11-28T20:57:42.000323Z

yeah, defonce is the way to go for persistent app state

2017-11-28T20:59:40.000090Z

it'd be nice to have a cljs system with the suspendable API to handle things like this, but that's only a wishlist item rn - there isn't anything I've seen that requires more than a defonce yet.

👍 1