Echo JS 0.11.0

<~>

ben 2489 days ago. link 5 points
I mean... no... the entire point of Redux is that it enforces immutability.

Make a mutation-first state library for sure, but don't pass it off under the guise of "Redux", or insinuate that reasoning about Redux at scale would be any more difficult than doing so with your own state library at the same scale.
tracker1 2489 days ago. link 5 points
It doesn't mutate, the immutable changes are abstracted via another library... however imho, it's no longer redux, but a prescriptive wrapper around it, and the usage is very alien compared to redux.  Also, I'm much more inclined to use redux-thunks with async functions, which works very well, and is easier to comprehend than the wrappers for saga.
ben 2489 days ago. link 3 points
Expanding on your point — irrespective of whether in-place mutations eventually happen, it creates referential opacity using the imperative paradigm, which is contrary to Redux's ethos.
njiv 2479 days ago. link 0 point
where is it from? who decided this? openning Redux motivation:

https://redux.js.org/introduction/motivation

> This complexity is difficult to handle as we're mixing two concepts that are very hard for the human mind to reason about: mutation and asynchronicity. I call them Mentos and Coke. Both can be great in separation, but together they create a mess. 

And again:

> Both can be great in separation

Here we have the separation, what's the problem?
kornflexx 2478 days ago. link 1 point
Use Reduxsauce to respect Redux immutability. It doesn't wrap the saga, but it offer the best way to wrap your reducers/actions/types. When I say best way, it means perfect balance between: no features looses - code size - usability.