react学习(一)______初识react

react的起源与发展

react起源于Facebook的内部项目,因为当初Facebook团队对市场上的MVC框架都不满意,其实,Facebook团队自己并不认可MVC的开发模式,所以就自己内部的开发一套框架,开发出来以后觉得很好用,于是决定开源,开源时间于2013年开源。

react是什么?

引用官方的话,react是一个声明式、高效且灵活的用于构建用户应用界面的JavaScript库。简单的说:react是一个专注于视图层的轻量级库,专注于MVC框架中的V层。

react的组件化开发思想

react并不是一个完成的MVC框架,前面提到过,react专注于MVC当中的V层,react构建页面UI的库其实就是把一个完整的UI 界面分割成由很多个小组件合成的模块,这些 组件经过代码优化、嵌套、组合最终形成了一个完整的页面。我们可以把页面的任何一个区域都当成一个组件或者若干个组件,这些组件其实是一个聚合体或者若干个聚合体,聚合体包含了html、css、js、images等元素。

react的虚拟DOM

react与vue这两套框架很相似,底层算法都是diff算法(不过在react的16.x.x的版本以后react就改用改了 Fiber 算法)。其实react为了避免我们开发人员频繁的对真实的DOM节点进行操作,为此react引入了虚拟DOM的机制。在基于react的的开发中,所有的DOM渲染都是通过虚拟DOM进行的,每当数据发生变化时,react就会重新的构建虚拟DOM树,然后虚拟DOM树与上次一的虚拟DOM树进行diff算法比对(16版本以后react的核心算法变成了Fiber),通过算法比对,得到了变化的DOM结构有什么区别,然后对有区别的DOM结构进行更新。这也是react高性能的体现,能够减少频繁的操作DOM节点。

面试官:

1.你觉得使用react开发有什么优势?
(1)react开发的结构引用了虚拟DOM的机制,这代表极大的减少对真实的DOM进行一个频繁的操作,从而提高性能。
(2)react开发的核心思想是组件化开发component,一个页面我们可以化成由一个或者多个小组件组成的,使用组件化的模式开发能够大大的提高开发效率。
2.react有什么特点?
(1)react底层对比虚拟DOM,这样性能高。
(2)react开发思想是组件化开发,这样开发效率高。
(3)react的单向数据流,单向数据流的核心内容是数据绑定,就是将服务端的数据向前端页面绑定好,开发者只需要关注业务代码就行。
(4)jsx语法。它是一种类似于html语法但又不是html语法。在react中,jsx语法是最基础的,我们在render()函数里面,我们每写一个div或者其他的html标签,都会通过创建节点的方式createElement来创建的,这样代码的可读性较低,不利于维护,为了减少这一频繁的操作,就使用了jsx语法来解决这一类的问题。
3.虚拟DOM是一个什么东西?
(1)虚拟DOM 不是一个什么东西。。。。。。在react中定义了一套变量式的DOM模型。。变量式变量式变量式,重要的事情说三遍。我们可以把虚拟DOM当做一种以变量形式存在的内存对象,因为它是以变量的形式存在,消耗电脑的内存比较少,这也是虚拟dom能够提高电脑性能的主要原因之一。

你可能感兴趣的:(react学习(一)______初识react)