Preface

Redux is a curious little tool. As you’ll discover, there’s not all that much to it. You can familiarize yourself with each of its methods before you finish a cup of coffee.

Not only is Redux well-contained, but it’s also a finished product. How often do you hear that? There’s no roadmap, project manager, or Kanban board. Commits are still added to the GitHub repository, but they’re usually improvements to documentation or the official examples.

How’s that possible? You may find it helpful to think of Redux as an architecture pattern. The package you install from npm is an implementation of that pattern and it provides you with enough functionality to get your application off the ground.

The real kicker is how much you can accomplish with only those few methods. The stark truth is that the Redux pattern can completely untangle a JavaScript application, leaving behind something more predictable, intuitive, and performant. Thanks to the same pattern, the developer tools also provide unprecedented insight into an application’s state and the flow of data through it.

But what’s the catch? All software choices come with tradeoffs, and Redux is no exception. The cost is tremendous flexibility. That may sound like another advantage, but it presents interesting challenges. The Redux pattern isn’t strictly enforced by the library or any other tool, and the small package cannot hope to educate or guide the developer to use the pattern effectively itself.

In the end, it’s up to the developer to find their own way. This explains why the lines of documentation in the GitHub repository dramatically outnumber the lines of implementation code. As excellent as the official documentation is, developers typically gather context and best practices from scattered resources on and off the web: blog posts, books, tweets, videos, online courses, and so on.

The flexibility allowed by Redux also results in a rich ecosystem of add-ons: libraries for selectors, enhancers, middleware, and more. You’ll be hard-pressed to find two Redux applications using exactly the same toolset. While it’s great that each project can tailor their tools to their unique needs, this can be a source of confusion for newly introduced developers. Newcomers to Redux often find themselves staring down a challenging learning curve when they’re asked to absorb not only Redux, but also the complexity of supplemental packages layered on. This is the main reason we wanted to write the book: to distill our personal experience and knowledge from dozens of different sources into one neat, accessible package.

We believe the real value of this book will be measured by how well it guides you through the rich Redux ecosystem, one bite-sized piece at a time. This won’t be an exhaustive look at all the supplemental tooling. Instead, we’ve chosen a handful of the most popular add-ons that you’re likely to see in the wild and are robust enough to tackle any client project. With that, happy reading! We’re grateful you’ve chosen to spend your time with us.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.250.153