Reasons to Learn Redux as a JavaScript Developer
I&#x27;m a Redux maintainer.  I agree with the points Robin made, and want to toss out a few additional bits of info.<p>There&#x27;s been a lot of chatter on social media over the last couple years suggesting Redux is dying or no longer needed.  While it&#x27;s true that there&#x27;s a number of other options available, and that there&#x27;s not as much _need_ to use Redux right away as there used to be, there&#x27;s still plenty of good reasons to use Redux.  In addition, Redux continues to be very widely used, and I&#x27;ve seen quite a few major apps choose to use it over the last year.  I talked about these aspects in my Reactathon 2019 talk on &quot;The State of Redux&quot; [0] and my post &quot;Redux - Not Dead Yet!&quot; [1].<p>We recently released a new official package called Redux Toolkit [2], which includes utilities to simplify several common Redux use cases, including store setup, defining reducers, immutable update logic, and even creating entire &quot;slices&quot; of state at once.  It&#x27;s now our recommended approach for writing Redux logic.  It&#x27;s also written in TypeScript, and the API is designed to provide a great experience in TS apps.<p>We&#x27;re currently working on an ongoing major rewrite of the Redux core docs [3], which has several goals: updating content to better match today&#x27;s target dev audience (removing references to &quot;Flux&quot;, etc), simplifying explanations, encouraging easier patterns, and adding additional content and guidance on real-world usage.<p>As part of that, we&#x27;ve added a new &quot;Style Guide&quot; page [4], which has our recommended patterns and practices for writing good Redux code.  We&#x27;re specifically emphasizing and recommending patterns that simplify the amount of code you have to write, like using Immer for immutable updates, using the &quot;ducks&quot; structure for files and logic, treating actions as &quot;events&quot; rather than &quot;setters&quot;, and so on.<p>Earlier this year, we also released new versions of React-Redux.  v7.0 was a complete rewrite of the internals to improve performance, and v7.1 added a new React hooks API [5] as an alternative to the classic `connect()` API.<p>If you&#x27;re interested in some of the behind-the-scenes details on how these libraries have evolved, see my posts &quot;The History and Implementation of React-Redux&quot; [5] and &quot;Redux Toolkit 1.0&quot; [6].<p>If anyone&#x27;s got any questions, ask away!<p>[0] <a href="https:&#x2F;&#x2F;blog.isquaredsoftware.com&#x2F;2019&#x2F;03&#x2F;presentation-state-of-redux&#x2F;" rel="nofollow">https:&#x2F;&#x2F;blog.isquaredsoftware.com&#x2F;2019&#x2F;03&#x2F;presentation-state...</a><p>[1] <a href="https:&#x2F;&#x2F;blog.isquaredsoftware.com&#x2F;2018&#x2F;03&#x2F;redux-not-dead-yet&#x2F;" rel="nofollow">https:&#x2F;&#x2F;blog.isquaredsoftware.com&#x2F;2018&#x2F;03&#x2F;redux-not-dead-yet...</a><p>[2] <a href="https:&#x2F;&#x2F;redux-toolkit.js.org" rel="nofollow">https:&#x2F;&#x2F;redux-toolkit.js.org</a><p>[3] <a href="https:&#x2F;&#x2F;github.com&#x2F;reduxjs&#x2F;redux&#x2F;issues&#x2F;3592" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;reduxjs&#x2F;redux&#x2F;issues&#x2F;3592</a><p>[4] <a href="https:&#x2F;&#x2F;redux.js.org&#x2F;style-guide&#x2F;style-guide" rel="nofollow">https:&#x2F;&#x2F;redux.js.org&#x2F;style-guide&#x2F;style-guide</a><p>[5] <a href="https:&#x2F;&#x2F;blog.isquaredsoftware.com&#x2F;2018&#x2F;11&#x2F;react-redux-history-implementation&#x2F;" rel="nofollow">https:&#x2F;&#x2F;blog.isquaredsoftware.com&#x2F;2018&#x2F;11&#x2F;react-redux-histor...</a><p>[6] <a href="https:&#x2F;&#x2F;blog.isquaredsoftware.com&#x2F;2019&#x2F;10&#x2F;redux-starter-kit-1.0&#x2F;" rel="nofollow">https:&#x2F;&#x2F;blog.isquaredsoftware.com&#x2F;2019&#x2F;10&#x2F;redux-starter-kit-...</a>