《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》,可以用它来非常方便地调试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值