前言
当我最初开始学习和使用React的时候,JavaScript社区刚开始从一个快速创新和颠覆的周期安定下来。React正变得很流行,而JavaScript社区在诸多方面仍旧像《狂野西部》一样。我对React这一技术感到兴奋,因为它展现出真正的希望。心智模型似乎很可靠,组件让构建UI变得更简单,API灵活且富于表达性,整个项目看起来“恰到好处”。暂且不提API外观、可用性和理论基础,还有一个事实就是,对我来说React真的很酷,而且我喜欢用它。
自那时起,已经发生了很多变化——与此同时,有些方面并没有太多改变。React的基本概念和API基本保持不变,但已经涌现和演化出一套知识和最佳实践,而且有更多的人在使用它。一个由库和相关技术组成的开源生态正蓬勃发展。会议、聚会和社区或多或少都会涉及React。React核心团队在React的版本16重写了React内部架构,它既保持了向后兼容又为未来的大量创新铺平了道路。所有这些“没有太大变化的改变”都指向我所认为的React的最大优势之一:维持稳定性和创新之间的紧张关系,在不让人望尘莫及的情况下推动采用。
鉴于以上原因,React持续占据技术主导地位而且只会变得更加流行。许多大公司、无数的创业公司以及其他各类公司都在以某种方式使用它。许多目前没有使用React的公司正尝试切换到React来将它们的前端应用现代化。
React的流行发展并未拘囿于Web——它还向其他平台进军。React Native,React在移动平台的港口,也成为一项重大创新。它展示了React的“一次学习,到处编写”的方法。将React作为平台的想法意味着不要局限于将其用于基于浏览器的应用。
让我们忘记对React的大肆宣传并聚焦于本书应该为读者做什么。我对本书的主要期望是它能帮助读者有效地理解和使用React,它甚至可以让读者更好地全面构建用户界面,即使一点点。我无意参与流行词驱动的开发或推动读者转向“魔法”技术,相反,我将赌注压在健壮的心智模型以及结合实际例子的深入理解会让读者用React做不可思议的事情,无论自己做还是和别人一起。