v0.15.0
What's Changed
- use requestAnimationFrame in render loop by @buntec in #126 (thanks to @armanbilge )
- Inject store into action handler by @buntec in #127
We've decided to change the signature of the store constructor yet again:
Action => State => (State, Option[F[Option[Action]]])
becomes
Store[F, State, Action] => Action => State => (State, Option[F[Unit]])
.
In other words, the store itself is now available in the builder function, which gives
us access to store.dispatch
to enqueue any number of follow-up actions, and store.state
to track
subsequent state changes. This is strictly more powerful than the previous version.
In particular, we no longer need to encode follow-up actions in the return type of the effect.
Note that for "pure" state updates nothing changes: state => state.copy(foo = 17) -> none
.
Thanks to @ramytanios for helpful discussions!
Full Changelog: v0.14.0...v0.15.0