前言
本书包含很多代码,作者在最近几年编写React应用程序的过程中发现这些代码片段很有帮助。就像你在厨房里使用的食谱一样,你可以把这些代码片段当成代码的初始版本,或者当成你编写代码的灵感来源。你应该根据自己的情况对这些代码进行调整,并将其中的内容(例如,示例使用的服务器)替换为更符合你需求的。食谱(recipe)范围包括从一般的Web开发技巧到你可以集成为库的更大代码段译注1。
大多数食谱都是用Create React App构建的,因为这是现在大多数React项目的共同起点。把每个食谱都转换为Preact或Gatsby版,也应该是很简单的。
为了保持代码紧凑,我们通常使用Hook和函数,而不是类组件。我们还使用Prettier工具来应用标准代码格式。我们使用Prettier的默认选项,而不是较短的缩进和行长,以便将代码整齐地展示在打印的页面上。你可以调整代码格式以符合自己的格式标准。
在创建这些食谱时,我们使用了许多库,如下表所示。
(续)
排版约定
本书中使用以下排版约定:
斜体(Italic)
表示新的术语、URL、电子邮件地址、文件名和文件扩展名。
等宽字体(Constant width)
用于程序清单,以及段落中的程序元素,例如变量名、函数名、数据库、数据类型、环境变量、语句和关键字。
等宽粗体(Constant width bold)
表示应由用户直接输入的命令或其他文本。
等宽斜体(Constant width italic)
表示应由用户提供的值或由上下文确定的值替换的文本。
该图示表示提示或建议。
该图示表示一般性说明。
该图示表示警告或注意。
示例代码
你可以从https://github.com/dogriffiths/ReactCookbook-source下载补充材料(示例代码、练习、勘误等)。
这里的代码是为了帮助你更好地理解本书的内容。通常,可以在程序或文档中使用本书中的代码,而不需要联系O'Reilly获得许可,除非需要大段地复制代码。例如,使用本书中所提供的几个代码片段来编写一个程序不需要得到我们的许可,但销售或发布本书中的示例代码则需要获得许可。引用本书的示例代码来回答问题也不需要许可,将本书中的很大一部分示例代码放到自己的产品文档中则需要获得许可。
非常欢迎读者使用本书中的代码,希望(但不强制)注明出处。注明出处时包含书名、作者、出版社和ISBN,例如:
React Cookbook,作者David Griffiths和Dawn Griffiths,由O'Reilly出版,书号978-1-492-08584-3。
如果读者觉得对示例代码的使用超出了上面所给出的许可范围,欢迎通过permissions@oreilly.com联系我们。
O'Reilly在线学习平台(O'Reilly Online Learning)
40多年来,O'Reilly Media致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。
我们拥有独一无二的专家和革新者组成的庞大网络,他们通过图书、文章、会议和我们的在线学习平台分享他们的知识和经验。O'Reilly的在线学习平台允许你按需访问现场培训课程、深入的学习路径、交互式编程环境,以及O'Reilly和200多家其他出版商提供的大量文本和视频资源。有关的更多信息,请访问http://oreilly.com。
如何联系我们
对于本书,如果有任何意见或疑问,请按照以下地址联系本书出版商。
美国:
O'Reilly Media,Inc.
1005 Gravenstein Highway North
Sebastopol,CA 95472
中国:
北京市西城区西直门南大街2号成铭大厦C座807室(100035)
奥莱利技术咨询(北京)有限公司
要询问技术问题或对本书提出建议,请发送电子邮件至errata@oreilly.com.cn。
本书配套网站https://oreil.ly/react-cb上列出了勘误表、示例以及其他信息。
关于书籍、课程、会议和新闻的更多信息,请访问我们的网站http://oreilly.com。
我们在Facebook上的地址:http://facebook.com/oreilly
我们在Twitter上的地址:http://twitter.com/oreillymedia
我们在YouTube上的地址:http://www.youtube.com/oreillymedia
致谢
我们要感谢非常耐心的编辑Corbin Collins,感谢他的帮助和建议。在写作过程中,他的冷静及幽默感持续地影响着我们。还要感谢O'Reilly Media的高级内容编辑Amanda Quinn委托我们编写这本书,感谢O'Reilly Media的Danny Elfanbaum和制作团队让本书的实体版和电子版成功问世。
还要特别感谢Sam Warner和Mark Hobson对本书内容进行了非常严格的审查。
我们也要感谢许多支持React生态系统的开源库的开发者。感谢他们所有人,特别是他们对bug报告或帮助请求的反应速度。
译注1:为了更方便阅读,除前言外,书中正文翻译使用“解决方案”替代了“食谱”的说法。