Heh. Quoting my tweet from last December at <a href="https://twitter.com/acemarke/status/809427191306059776" rel="nofollow">https://twitter.com/acemarke/status/809427191306059776</a> :<p>> If I had a nickel for every lib I've seen that lets me "Write reducers with less boilerplate", I'd have... well, several dollars, anyway<p>Case in point, the "Reducers" page [0] in my Redux addons catalog lists dozens of reducer utility libs , and there's even more under the "Action/Reducer Generation" page [1]. (Yes, those two pages are cluttered and need to be reorganized, but I haven't had time yet. I'll also note that I did just add redeuceur to my list a couple days ago as well.)<p>So, good news is that if you want to abstract out the process of defining reducers and action creators, there's a gazillion libs out there to help you do that. As always, it's up you you to decide how much abstraction _you_ want to use in a Redux app [2].<p>[0] <a href="https://github.com/markerikson/redux-ecosystem-links/blob/master/reducers.md" rel="nofollow">https://github.com/markerikson/redux-ecosystem-links/blob/ma...</a><p>[1] <a href="https://github.com/markerikson/redux-ecosystem-links/blob/master/action-reducer-generators.md" rel="nofollow">https://github.com/markerikson/redux-ecosystem-links/blob/ma...</a><p>[2] <a href="http://blog.isquaredsoftware.com/2017/05/idiomatic-redux-tao-of-redux-part-2/" rel="nofollow">http://blog.isquaredsoftware.com/2017/05/idiomatic-redux-tao...</a>