`
zhangyaochun
  • 浏览: 2561332 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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

阅读更多

 

   前言

 

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

 

 

   正文:

 

        其实,React 到底是什么?

 

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

       那 React 到底能做什么?

 

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

       React 有什么不一样的特点?

 

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

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

 

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

   实例化

 

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

 

  • getDefaultProps

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

 

  • getInitialState

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

 

     与 getDefaultProps 区别:

 

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

   完成首次渲染之前被调用,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》,可以用它来非常方便地调试。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics