React是什么
React是Facebook公司的一个前端框架,旨在代替后端如php渲染页面。它本质上是一个状态机,只关心两件事:
- 更新DOM
- 相应事件
虽然称为框架,但是它只处理mvc中的v,其他的譬如路由,数据处理,连ajax都没有,所以从某种意义上讲它可以很好的融入到其他框架中。
React非常注重效率,它的高效在于它的所有的状态改变先更新虚拟dom,再用它牛x的算法比较虚拟dom与现在dom区别,对比完区别再去最小化改变现有dom使得页面重绘最小化,最迅速。
这样说不知道清楚没有!或者从现有的缺点讲,现有的一次操作触发界面更新,但是这个更新又触发了另个更新,使得整个一个操作导致处理了很多次dom变化,整个过程就会很长。但是react它将几次变化合为一次,甚至将几次中间态变化都省略了直接变到终态,所以提升了效率。
还一个提高性能的特性是它具有一个事件处理器。(这个会提升性能?处理堆栈频换的原因?)
为什么使用它
简单讲就是两点,简化开发,使得前端人员在处理复杂业务逻辑和构建复杂页面时非常简便,就像php那样简单;并且,它的效率很高,大大提升了以往界面的渲染效率使得用户体验很好。所以react基于开发者简便、用户体验好两个出发点去构建框架必然将像php一样流行。
本书的看法
从整体看,本书从粗浅入门,到进阶,再到实战开发可以说是深入浅出讲得非常详细,既是开发入门不二之选又是深入探究的良书宝典。
第3章节:生命周期
- 实例化
- 存在期
- 销毁
三个周期,跟spring的bean的生命周期挺像。每个生命周期阶段都提供钩子函数供使用。
第10章节:动画
三种方式去实现动画,一、使用css3的transition,二、requestAnimationFrame来实现间隔渲染,三、使用setTimeout来实现间隔渲染。
10.1 css3的方式
在处理重绘时,react给组件添加4个class:xx-enter,xx-enter-active,xx-leave,xx-leave-active,当组件进入和退出时它会自动给组件添加4个class。
enter和enter-active的区别在于,前者是添加到渐变组件时就赋予的,后者是下一轮渲染时赋予的,这样就定义了渐变开始时的样式,结束时的样式及如何进行渐变的。
10.2 requestAnimationFrame间隔渲染
在给css之外如给canvas或滚动条位置添加动画时,间隔渲染符合我们的需求。
所谓间隔渲染就是像放电影一样将一段动画切分成不同阶段,各个阶段渲染各自的组件,所有的阶段串起来就成了连续的动画了。
10.3 setTimeout间隔渲染
原理跟requestAnimationFrame一样,只是使用的setTimeout做间隔处理。且这种方式浏览器支持比较好。
第11章节:开发工具
本章介绍两款开发工具bowserify和webpack用于打包等一系列复杂的步骤,用过node的同学或许比较熟悉,类似的工具还有很多譬如grunt、gulp。
安装就省略了就是使用npm的install安装,打包的时候使用npm run build
browserify
配置文件
scripts: { build: 'browserify --debug index.js>bundle.js' build-dist: 'NODE_ENV=production browserify index.js|uglifyjs -m > bundle.min.js' }分别配置了build和build-dist命令
里面介绍了一个组件watchify,使用了干嘛的?上面介绍打包组件和命令或者你实际开发时你是否有这样的疑问:每次修改完我得打个命令(npm run build)去重新编译下,是不是有点麻烦啊。那么现在可以使用watchify来解决这个问题,它主要是监听修改来自动执行build编译命令。
webpack
它除了像browserify那样可以编译打包,还可以处理less,jax,分包,热替换模块,支持异步加载等,所以webpack的能力比较综合。
调试
使用chrome安装react的插件可以看到react的组件、props及state
总结:
从我的经验来说,react比较适合做组件开发,拥有完备的体系它的
相关推荐
《REACT:引领未来的用户界面开发框架》,有完美书签。
资源名称:React:引领未来的用户界面开发框架内容简介:2014 年横空出世的由Facebook 推出的开源框架React.js,基于Virtual DOM 重新定义了用户界面的开发方式,彻底革新了大家对前端框架的认识,将PHP 风格的开发...
之前网上下的,没有标签,于是我自己重新整理了一下目录书签
REACT:引领未来的用户界面开发框架.pdf
《React(第2版):引领未来的用户界面开发框架》由多位一线专家精心撰写,采用全程实例介绍和剖析了React.js的方方面面,适合广大前端开发者、设计人员,以及所有对未来技术趋势感兴趣者阅读。《React(第2版):...
Facebook 的开源框架 React.js,基于 Virtual DOM 重新定义了用户界面的开发方式,彻底革新了大家对前端框架的认识,将PHP风格的开发方式迁移到客户端应用开发。其优势在于可以与各种类库、框架搭配使用。本书由多位...
在阅读样章的过程中,我们应当专注于React框架的核心概念和开发思想,理解其在现代Web开发中的重要地位,以及为何它能够成为引领未来用户界面开发的框架。通过这样的理解,开发者可以更好地掌握React,发挥其在实际...
作为引领未来的用户界面开发框架,React以其高效、灵活和组件化的特性深受开发者喜爱。本指南将深入探讨React的核心概念、工作原理以及如何利用它来创建高性能的应用程序。 一、React的基本概念 1. 组件化:React的...
React(第2版)引领未来的用户界面开发框架,不仅在于其强大的功能和优秀的性能,还在于其活跃的社区和丰富的生态系统,持续推动Web开发的创新和发展。无论是初学者还是经验丰富的开发者,都能在React的世界里找到适合...
无论传统网站还是移动开发,尤其跨终端Web,一步跟不上React,就会被远远抛开 以BAT为首的一线国内互联网企业均以快速跟进研发、实践React,下一次求职你就一定会被面到 React极有可能让撕B不止的前端社区迎来和平和...
**React:引领未来的用户界面开发框架** React,由Facebook开发并开源,是一种用于构建用户界面的JavaScript库,尤其擅长构建单页应用(SPA)。它的核心理念是组件化,通过组合可复用的UI部件来构建复杂的用户界面...
《React引领未来的用户界面开发框架》是一本深入探讨React技术栈的自编教材,涵盖了React的基础概念、核心特性以及在实际开发中的应用。React作为现代前端开发的重要框架,以其高效、灵活和组件化的特性,引领了用户...
React框架,也常被称为React.js或简称为React,是一个由Facebook开发并维护的开源JavaScript库,主要用于构建用户界面。React自2013年首次发布以来,迅速成为前端开发领域的核心工具之一,其流行度持续攀升,并在多...
React是由Facebook开发并开源的JavaScript库,主要用于构建用户界面,特别是单页应用程序。自2013年以来,React因其高效、灵活和可扩展性而受到广大开发者喜爱。它改变了前端开发的方式,引领了组件化开发的新潮流。...