react设计模式和最佳实践

c#小王子 c#小王子 2021-08-18 997 react


react设计模式和最佳实践



内 容 提 要


本书共分为12 章,通过介绍 React 中最有价值的设计模式,展示如何将设计模式和最佳实践应用于现实的新项目和已有项目中。主要内容包括帮助读者理解 React 的基本概念,学习编写整洁、可维护的代码;优化 React 组件,使应用拥有更快的速度和响应性 ; 介绍如何有效地编写测试,避免反模式,开源组件并对 React 生态系统做贡献。


本书适合想要深入理解 React,希望提高相关编程技能的前端开发人员阅读。


前 言


本书将带你全面了解 React 中最有价值的设计模式,并展示如何在全新或已有的真实项目中应用设计模式与最佳实践。本书将帮助你让应用变得更加灵活、运行更流畅并且更容易维护——在不降低质量的情况下极大地提升工作流的速度。


我们将首先理解 React 的内部原理,接着逐步编写整洁且可维护的代码。我们将开发能够在整个应用中复用的组件,搭建应用架构,并创建真正可用的表单。


接下来,我们会为 React 组件编写样式并优化组件,从而使应用运行得更快且更具响应性。最后,我们将有效地编写测试代码,还会学到如何为 React 及其生态系统做贡献。


学完本书后,你会从大量的试错以及开发难题中解脱出来,也将踏上成为 React 专家的道路。


本书内容


第 1章,React 基础。这一章从高级角度介绍了React 的基本概念。


第 2 章,整理代码。这一章讲解了编写可维护代码中最重要的一个方面,即保持代码整洁并遵循编程风格指南。了解函数式编程的基础知识对于使用 React 也很重要。


第 3 章,开发真正可复用的组件。这一章阐述了构建应用的一个关键因素在于使用组件,而要想保持代码库整洁且可维护,最重要的是开发真正可复用的组件。


第 4 章,组合一切。这一章阐述了真实应用由不同的组件构成,重要的是让组件之间可以高效地通信,并按照正确的形式组织和搭建层次结构。


第 5 章,恰当地获取数据。这一章指明了任何客户端应用在某些时刻都必须处理数据,并且介绍了不同的技巧和方法,让你能够以 React 的方式获取数据。


第 6 章,为浏览器编写代码。这一章阐述了如何正确使用在浏览器中运行的应用,还讲解了一些高级概念,如事件、动画以及如何与 DOM交互。


第 7 章,美化组件。这一章说明了开发美观的 UI组件是前端工程中很重要的一部分内容。


React 可以通过多种方式实现这个目的,每种方式从不同角度解决该问题。了解可用的库及其工作原理,对于做出正确的选择至关重要。


第 8章,服务端渲染的乐趣与益处。这一章指明了服务端渲染是 React众多优秀特性之一。虽然该特性开箱即用,但学习其正确用法很重要,因为这样才能充分加以利用。


第9章,提升应用性能。这一章阐述了性能是 Web 平台吸引用户的重要因素之一。React提供了一系列工具和技术来创建快如闪电的应用,这一章将全面介绍这些内容。


第 10 章,测试与调试。这一章会让你意识到,我们都希望自己的应用保持稳定,并且能够应对一切极端情况,而测试有助于实现这个目的。编写全面的测试集对于创建稳定且可维护的代码至关重要。从另一方面来看,bug 总会出现,而知道如何调试并尽早发现问题很关键。


第 11 章,需要避免的反模式。这一章阐明了开发人员经常尝试采取捷径和创意方案这一事实,但在某些情况下这种做法对应用来说是很危险的,尤其是团队以及代码库规模很大时。这一章将带你了解使用 React 时,应该避免的常见反模式。


第 12 章,未来的行动。这是本书的最后一章,至此我们已经介绍完所有主题。我认为探讨如何开源组件(以回馈社区)以及如何为 React 及其生态系统做贡献也很重要。


第1章 react基础


1.1 声明式编程


只要阅读过 React 文档或者相关博文,那么你肯定遇到过声明式这一术语。


其实,React 如此强大的原因之一就在于它推行声明式编程范式。


因此,要想掌握 React,就需要理解声明式编程的含义,以及其与命令式编程之间的主要区别。


理解该问题的最简方式是∶ 命令式编程描述代码如何工作,而声明式编程则表明想要实现什么目的。


与命令式世界极其相似的一个真实示例就是去酒吧喝啤酒并对服务员做出以下指示∶口从架子上拿一个玻璃杯;口将杯子放到酒桶前;□ 按下酒桶开关,将杯子倒满;口 把杯子递给我。


但在声明式世界中,你只需要说∶"请给我一杯啤酒。"


按声明式方式点一杯啤酒,需要假设服务员知道如何提供啤酒,这是声明式编程工作原理的一个重要方面。


我们来看一个JavaScript代码的示例。编写—个简单函数,给定包含大写字符串的数组时该函数返回包含相同的小写字符串的数组。


toLowerCase( ['FOO','BAR'])/ / ['foo','bar']


解决该问题的命令式函数的实现如下所示∶


const toLowerCase = input =>{
  const output = [ ]
  for (let i = 0; i < input.length; i++){
    output.push (input [i] .toLowerCase( ))
  }
  return out put
}


首先,创建一个空数组来保存结果。接着,函数循环遍历输入数组中的所有元素,并将小写值推进空数组中。最后,返回需要输出的数组。

声明式实现如下所示∶


const toLowerCase = input => input.map(
value => value. toLowerCase()
)


输入数组中的元素会传递到 map 函数,然后map 函数会返回包含小写值的新数组。这里需要注意几点比较重要的差别∶前一个示例不够优雅,而且需要花更多精力才能理解;后者更加简洁、易读,这对注重可维护性的大型代码库来说非常重要。


另外值得一提的是,声明式编程中无须使用变量,也不用在执行过程中持续更新变量的值。事实上,声明式编程往往避免了创建和修改状态。

我们来看最后一个示例,了解一下 React 的声明式具体指什么。


我们要解决的问题是 Web 开发中常见的一个需求∶展示带有标记的地图。


【下载地址】


链接:https://pan.baidu.com/s/19EPGl_YEPBubOAdhCESJmQ

提取码:jwln


相关文章


深入浅出React和Redux

希望读者把阅读这本书的过程当做一个旅程,由浅入深地了解 React 和 Redux,如果你对 React 和 Redux 技术已经有一些了解

深入React技术栈

本书从几个维度介绍了React。一是作为 View 库,它怎么实现组件化,以及它背后的实现原理。二是扩展到 Flux 应用架构及重要的衍生品

快速上手React编程

本书旨在解决前端开发者的烦恼,使他们的生活更有意义、更加快乐,并通过介绍 React帮助他们赚到更多的钱——这些会以一种快速的方式进行。本书

从零开始学ReactJS

ReactJS 是 Facebook 推出的 JavaScript 函数库,若以 MVC 框架来看,React 定位是在 View 的范畴。

react状态管理与同构实战

本书以 React 技术栈为核心,在介绍 React 用法的基础上,从源码层面分析了Redux 思想,同时着重介绍了服务端渲染和同构应用的架

react中文入门教程

React 的核心思想是∶ 封装组件。

React与Redux开发实例精解

本书共分四部分,全面介绍如何使用 React与 Redux进行Web 开发。

React学习手册

本书是专门为希望学习React脚本库,同时也希望学习当前JavaScript语言最新特性的开发人员而编写的。

react设计模式和最佳实践

通过介绍 React 中最有价值的设计模式,展示如何将设计模式和最佳实践应用于现实的新项目和已有项目中

React全栈++Redux+Flux+webpa

本书从现代前端开发的标准、趋势和常用工具入手,由此引出了优秀的构建工具 webpack 和 JavaScript库 React,之后用一系列

react快速上手开发完整版

本书是 React 入门书。前 3章介绍如何从空白的 HTML页面开始构建应用。第4章介绍 JSX语法。从第5章开始,你会学习到在实际开发中

React开发实战

React 是由 Facebook 创建的一个开源项目。它提供了一种在 JavaScript 中构建用户界面的全新方式。自从它公开发布后,这

react-router-cn脚本之家

React Router 是完整的 React 路由解决⽅案 React Router 保持 UI 与 URL 同步。它拥有简单的 API

ReactNative移动开发实战

本书以实战为主旨,通过完整的电商类 App 项目实例,来介绍 React Native 中常用的组件、API、布局、第三方组件和原生接口,让

ReactNative实战

Native 有更好的人机交互体验:1. 更丰富细腻的动画效果 2. 更精准的手势识别 3. 原生控件有更好的体验 ;4. 更合适的线程模型


文章热度: 166291
文章数量: 333
推荐阅读

FlashFXP绿色版网盘下载,附激活教程 1839

FlashFxp百度网盘下载链接:https://pan.baidu.com/s/1MBQ5gkZY1TCFY8A7fnZCfQ。FlashFxp是功能强大的FTP工具

Adobe Fireworks CS6 Ansifa绿色精简版网盘下载 1607

firework可以制作精美或是可以闪瞎眼的gif,这在广告领域是需要常用的,还有firework制作下logo,一些原创的图片还是很便捷的,而且fireworks用法简单,配合dw在做网站这一块往往会发挥出很强大的效果。百度网盘下载链接:https://pan.baidu.com/s/1fzIZszfy8VX6VzQBM_bdZQ

navicat for mysql中文绿色版网盘下载 1652

Navicat for Mysql是用于Mysql数据库管理的一款图形化管理软件,非常的便捷和好用,可以方便的增删改查数据库、数据表、字段、支持mysql命令,视图等等。百度网盘下载链接:https://pan.baidu.com/s/1T_tlgxzdQLtDr9TzptoWQw 提取码:y2yq

火车头采集器(旗舰版)绿色版网盘下载 1737

火车头采集器是站长常用的工具,相比于八爪鱼,简洁好用,易于配置。火车头能够轻松的抓取网页内容,并通过自带的工具对内容进行处理。站长圈想要做网站,火车头采集器是必不可少的。百度网盘链接:https://pan.baidu.com/s/1u8wUqS901HgOmucMBBOvEA

Photoshop(CS-2015-2023)绿色中文版软件下载 1858

安装文件清单(共46G)包含Window和Mac OS各个版本的安装包,从cs到cc,从绿色版到破解版,从安装文件激活工具,应有尽有,一次性打包。 Photoshop CC绿色精简版 Photoshop CS6 Mac版 Photoshop CC 2015 32位 Photoshop CC 2015 64位 Photoshop CC 2015 MAC版 Photoshop CC 2017 64位 Adobe Photoshop CC 2018 Adobe_Photoshop_CC_2018 Photoshop CC 2018 Win32 Photoshop CC 2018 Win64

知之

知之平台是全球领先的知识付费平台。提供各个领域的项目实战经验分享,提供优质的行业解决方案信息,来帮助您的工作和学习

使用指南 建议意见 用户协议 友情链接 隐私政策 Powered by NOOU ©2020 知之