Raynos / mercury

A truly modular frontend framework
http://raynos.github.io/mercury/
MIT License
2.82k stars 143 forks source link

Get the previous version of state var #216

Open KoderFPV opened 7 years ago

KoderFPV commented 7 years ago

Hi, I'm pretty new in reactive programming and immutable stuffs. I have one question, is there any easy way to get previous state of state variable? (I even don't know how to ask about it properly)

return hg.state({ frame: frame });

and frame var has been changed to other value, but then I would like to have previous state of it?

Can you help me ?:)

Thanks for understanding Artur

ashnur commented 7 years ago

If I understand you correctly, you would like to have a history with changes. The observable (hg,state()) does not offer an API for this by default. In other words, it's up to you to save the data you need, store it and query it the way you want it.

If you project has sufficiently large or complicated dataset, maybe you want to look at something like https://github.com/typeetfunc/datascript-mori/ and https://github.com/tonsky/datascript

If not, well there are lots of options, everything depends on what you want to model.

KoderFPV commented 7 years ago

Thanks for fast reponse. So I'm not sure if you familliar with mori.js but there are a lists and I can operate on this object and I would like to ask if it is propery way to use mori and mercury together?

ashnur commented 7 years ago

There are multiple ways to use mori and mercury together, depending on how much you want to experiment with the situation :). You will probably want to replace this https://github.com/Raynos/main-loop/blob/master/index.js with something else. You can check the index.js in mercury where main-loop is used.