图书前言

前    言

自2015年年中发布以来,Redux引起了JavaScript世界的关注。从它作为会议演示的概念验证和“只是另一个Flux实现”标签的简单开端,已经发展成为React应用程序中使用最广泛的状态管理解决方案。它也被Angular、Ember和Vue社区采用,并启发了许多模仿品和衍生产品。

我最喜欢引用的一句话是,“Redux是一个通用框架,它提供了足够结构化和足够灵活性的平衡。因此,它为开发人员提供了一个平台,可以让他们为自己的用例构建自定义状态管理,同时能够重用图形化调试器或中间件之类的东西。” 的确,Redux提供了一组基本的工具以供使用,并概述了组织应用程序更新逻辑的一般模式,最终由你来决定如何围绕Redux构建应用程序。你可以设计应用程序的文件结构,编写reducer逻辑,连接组件,并确定要在Redux上使用多少抽象。

Redux的学习曲线有时会很陡峭。对于来自面向对象语言的大多数开发人员来说,函数式编程和不可变性是不熟悉的概念。编写另一个TodoMVC示例并没有真正展示Redux的好处,也不能解决构建“真实”应用程序的问题。但最终的收益是值得的。能够清楚地追踪应用程序中的数据流并了解特定状态变更的位置/时间/原因/方式是非常有价值的,并且良好的Redux使用方式最终会让代码在长期内更易于维护和可预测。

我大部分时间都是Redux维护人员,通过回答问题、改进文档和撰写教程博客来帮助人们学习Redux。在这个过程中,我看过数百种不同的Redux教程。有鉴于此,我非常乐意推荐将《Redux实战》一书作为学习Redux的最佳资源之一。

通过《Redux实战》一书,Marc Garreau 和Will Faurot写了我希望自己写的Redux书籍。它非常全面、实用,并且可以很好地为开发现实世界中的Redux应用程序讲授许多关键的主题。我特别欣赏《Redux实战》所涵盖的领域,并不总是有明确的答案,如构建项目,通过列出利弊,让读者知道这是一个他们可能不得不自己决定的领域。

在当今快速发展的编程世界中,没有一《Redux实战》可以包罗有关工具的所有知识。但是,《Redux实战》将为你打下坚实的基础和对Redux基础知识的理解——各部分如何结合,如何将这些知识用于实际应用程序,以及在何处寻找更多信息。我很高兴看到《Redux实战》出版,并期待你加入Redux社区!

Mark Erikon

Redux核心维护者