零、前言
目前存在大量用于 Web 开发的 JavaScript 库、框架和工具。然而,我们应该评估每种技术,看看它是否适合我们的项目需求。这就是为什么我要向您介绍 React,它是创建动态 UI 的最强大的库之一。现在是 Facebook 制作的最受欢迎的库(不是框架)。我在不同的项目中使用过其他 JS 框架,如 AngularJS(也是 AngularJS 的新版本 2、4、5)、Backbone.JS、Ember 和 Vue.JS,但我可以告诉你,使用 React 我更喜欢开发新的 Web 应用
React 改变了 Web 应用的开发方式,并与 Redux 相结合,我们得到了一个强大的前端架构,不仅对经验丰富的开发人员,而且对那些刚刚开始其前端之旅的开发人员都有意义。
本书介绍了 React 的所有工具和最佳实践,简单的食谱易于遵循,本书中的所有食谱都是 100%实用的,每一个都有必要的代码来理解所有重要的事情。
欢迎来到更美好的未来,从这本书中享受阅读和学习的乐趣。
这本书是给谁的
本书可供任何具有构建 web 应用基本知识的开发人员使用。主要针对 JavaScript 开发人员,但不限于任何其他类型的开发人员。
这本书涵盖的内容
第一章,与 React、React 合作,是 Facebook 制作的一个 JavaScript 库(MIT 许可证),用于创建交互式 UI。它用于创建动态和可重用的组件。React 最强大的功能是可以在客户端、服务器、移动应用甚至 VR 应用中使用
第 2 章、征服成分和 JSX*,本章包含如何在 React 中创建成分的相关配方。我们将学习如何创建 React 组件(类组件、纯组件和功能组件)并组织我们的项目结构。
第 3 章,处理事件、绑定和有用的 React 包本章包含处理事件的相关配方、React 中的绑定方法,我们将实现一些最有用的 React 包。
第 4 章,使用 React 路由向我们的应用添加路由,在本章中,我们将学习如何使用 React 路由 v4 在我们的项目中添加动态路由。
第 5 章、掌握 Redux、Redux 是 JavaScript 应用的可预测状态容器。这意味着 Redux 可以与普通 JavaScript 或框架/库(如 Angular 和 jQuery)一起使用。Redux 主要是一个库,负责发布状态更新和对操作的响应。
第 6 章,使用 Redux 表单创建表单*,表单是任何 web 应用的基本组成部分,在下面的食谱中,我们将学习如何使用带 Redux 表单和不带 Redux 表单的表单。
第 7 章中,带有 React、动画的动画在任何 web 应用中都非常常见。自 CSS3 以来,动画已经变得广泛且易于实现。动画最常见的用途是转换,您可以在其中更改 CSS 属性并定义持续时间或延迟。
第 8 章使用 MongoDB 和 MySQL 创建 Node.js 的 API,Node.js 被广泛用作 web 应用的后端,因为它易于创建 API,其性能优于 Java、PHP 和 Ruby 等技术。通常,使用 Node.js 最常用的方法是使用一个名为 Express 的框架。
第 9 章、Apollo 和 GraphQL、GraphQL 是一种应用层查询语言,可用于任何数据库,也是 Facebook 创建的开源(MIT 许可证)。与 REST 的主要区别在于 GraphQL 不使用端点,而是使用查询,大多数服务器语言(如 JavaScript(Node.js)、Go、Ruby、PHP、Java、Python 等)都支持 GraphQL。
第 10 章,精通 Webpack 4.x,Webpack 4 默认不需要配置文件。在使用最旧版本之前,您必须有一个配置文件,但当然,如果您需要根据项目需要自定义 Webpack 4,您仍然可以创建一个配置文件,这将更易于配置。
第 11 章,实现服务器端呈现、如果您不太关心 SEO,可能不需要担心服务器端呈现(SSR)。目前,Googlebot 支持客户端渲染(CSR),它可以在 Google 中为我们的网站编制索引,但如果您关心 SEO,并且担心在其他搜索引擎(如 Yahoo、Bing 或 DuckDuckGo)上改进 SEO,那么使用服务器端渲染(SSR)是一种可行的方法。
第 12 章、测试和调试、*测试和调试对于任何想要获得最佳质量的项目来说都是非常重要的。不幸的是,许多开发人员并不关心测试(单元测试),因为他们认为这会降低开发速度,有些开发人员会将其留到项目结束。以我个人的经验,我可以说,从项目开始进行测试将节省您的时间,因为最终您将有更少的 bug 需要修复。
第 13 章部署到生产环境现在是将我们的应用部署到生产环境并向世界展示的时候了。在本章中,您将学习如何使用最好的云服务之一:Digital Ocean 部署 React 应用。
第 14 章React-Native 与 React-Native 合作,是一个使用 JavaScript 和 React 构建移动应用的框架。许多人认为,使用 React Native,您可以制作一些“移动 web 应用”或“混合应用”(如 Ionic、PhoneGap 或 Sencha),但您可以构建一个本机应用,因为 React Native 将您的 React 代码转换为适用于 Android 的 Java 和适用于 iOS 应用的 Objective-C。
*# 充分利用这本书
要掌握 React,您需要具备 JavaScript 和 Node.js 的基本知识。本书主要针对网络开发人员,在撰写本书时,为读者做出了以下假设:
- 读者知道如何安装 Node.js 的最新版本。
- 能够理解 JavaScript ES6 语法的中级开发人员。
- 很少使用 CLI 工具和 Node.js 语法。
本书还为使用 React Native 的移动开发人员(iOS 和 Android)提供了一些帮助,如果您是初学者,您应该学习如何使用 Xcode 安装 Android SDK 或 iOS 模拟器。
下载示例代码文件
您可以从您的账户www.packtpub.com下载本书的示例代码文件。如果您在其他地方购买了本书,您可以访问www.packtpub.com/support并注册,将文件通过电子邮件直接发送给您。
您可以通过以下步骤下载代码文件:
- 登录或注册www.packtpub.com。
- 选择“支持”选项卡。
- 点击代码下载和勘误表。
- 在搜索框中输入图书名称,然后按照屏幕上的说明进行操作。
下载文件后,请确保使用以下最新版本解压或解压缩文件夹:
- WinRAR/7-Zip for Windows
- 适用于 Mac 的 Zipeg/iZip/UnRarX
- 适用于 Linux 的 7-Zip/PeaZip
该书的代码包也托管在 GitHub 上的https://github.com/PacktPublishing/React-Cookbook 。如果代码有更新,它将在现有 GitHub 存储库中更新。
我们的丰富书籍和视频目录中还有其他代码包,请访问https://github.com/PacktPublishing/ 。看看他们!
Warnings or important notes appear like this. Tips and tricks appear like this.
联系
我们欢迎读者的反馈。
一般反馈:发送电子邮件feedback@packtpub.com
并在邮件主题中提及书名。如果您对本书的任何方面有疑问,请发送电子邮件至questions@packtpub.com
。
勘误表:尽管我们已尽一切努力确保内容的准确性,但还是会出现错误。如果您在本书中发现错误,如果您能向我们报告,我们将不胜感激。请访问www.packtpub.com/submit-errata,选择您的书籍,点击 errata 提交表单链接,然后输入详细信息。
盗版:如果您在互联网上发现我们作品的任何形式的非法复制品,请您提供我们的位置地址或网站名称,我们将不胜感激。请通过copyright@packtpub.com
与我们联系,并提供该材料的链接。
如果您有兴趣成为一名作家:如果您对某个主题有专业知识,并且您有兴趣撰写或贡献一本书,请访问authors.packtpub.com。
评论
请留下评论。一旦你阅读并使用了这本书,为什么不在你购买它的网站上留下评论呢?然后,潜在读者可以看到并使用您的无偏见意见做出购买决定,我们 Packt 可以了解您对我们产品的看法,我们的作者可以看到您对他们书籍的反馈。非常感谢。
有关 Packt 的更多信息,请访问packtpub.com。****
版权属于:月萌API www.moonapi.com,转载请注明出处