《React:引领未来的用户界面开发框架》读后感

前言

其实我们在项目里面用 React 已经很久了,这次赶在社区的读书活动再全面了解一下 React 的相关的东西,收获很多,感谢社区举办的活动有这么好的书。

正文:

其实,React 到底是什么?

  • Facebook 内部的一个 js 类库
  • 13年开源
  • 用于创建 Web 用户交互界面
  • 来自 PHP 框架 XHP(每次有请求进来时渲染整个页面) 的一个分支

React 到底能做什么?

  • 本质上是一个状态机,管理复杂的随着时间变化的状态
  • 只关心 更新 DOM、响应事件
  • 不处理 Ajax、路由、数据存储,不规定数据组织的方式

React 有什么不一样的特点?

  • 对 DOM 只更新不读取
  • 高效的算法来计算虚拟页面当前版本和新版的差异
  • 最小化重绘,避免不必要的DOM操作
  • 在整个应用中只使用单个事件处理器,并且把所有的事件委托到这个处理器上

试读章节里面主要集中在 【第三章的《组件的生命周期》】,这章其实还是很重要的:

  • 作为新手,你必须熟悉在什么事件里面可以加入一些方法来控制一些东西

实例化

一个新组件被创建、首次渲染

  • getDefaultProps

组件类,这个方法只会被调用一次。返回的对象为实例设置的认 props 值。

组件的每一个实例,被调用有且只有一次。在这里可以初始化每一个实例的 state。

getDefaultProps 区别:

  1. 每次实例创建时该方法都会被调用一次
  2. 可以访问 this.props

完成首次渲染之前被调用,render 之前。

  • render

你会创建一个虚拟 DOM,返回的不是真正的 DOM。必需定义

  1. 只能通过 this.props 和 this.state 方法数据
  2. 可以返回 null、 false 或者 React 组件

  3. 只能出现一个顶级组件(不能返回一组元素):就是只能return 一个父元素包裹

  4. 不能改变组件的状态

  • componentDidMount

render 成功调用且真实 DOM 已经渲染后,this.getDOMNode() 方法访问

【第 10 章的《动画》】其实自己在项目里面很少用,所以可能关注不是很多。

下面还是重点说一下 【14 章的 《开发工具》】,这部分其实对于任何新手,接触一个新的类库或者语音,都是必须要去关注的,因为有了好的开发工具,这样才能利于你快速找到问题,解决问题。

  • 构建工具
  1. browserify ----- js 打包工具,支持在浏览器端使用 Node.js 风格的 require 方法,只支持js
  2. Webpack ----- 功能更强大:
  • 将CSS 图片已经其他资源打包到同一个
  • 打包之前预处理(less,coffee,jsx等)
  • 入口文件的不同把你的包拆分
  • 支持开发环境的特性标志位
  • 支持模块代码热替换
  • 支持异步加载

全面地讲:它就是 browserify + gulp | grunt ,认情况下:启用了一个 Commonjs 解释器插件

很多使用过 React 的人也开始渐渐地用Webpack 来作为它的 主力打包工具了。

  • 调试工具

Chrome 浏览器扩展里面安装 《React Developer Tool》,可以用它来非常方便地调试。

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...