1 区分Real DOM 和Virtual DOM
Real DOM
(1)更新缓慢
(2)可以直接更新HTML
(3)如果元素更新,则创建新DOM
(4)DOM操作的代价极大
(5)消耗的内存较多
Virtual DOM
(1)更新缓慢
(2)无法直接更新DOM
(3)如果元素更新,则更新JSX
(4)DOM操作的代价小
(5)很少内存消耗
2 什么是React
React是在Facebook 在2011年开发的前端JavaScript库。它遵循基于组件的方法,有助于构建可重用的UI组件,它用于开发复杂和交互式的web和移动UI,尽管它浸在2015年开源
3 React的特点
(1)使用的是虚拟DOM而不是真正的DOM
(2)他可以进行服务器渲染
(3)他遵循单向数据流或数据绑定
4 列出React的一些主要优点
(1)提高了应用性能
(2)方便在客户端和服务端使用
(3)由于JSX,代码的可读性好
(4)React很容易与Angular等其他框架集成
(5)使用React,编写UI测试用例变得非常容易
5 React有哪些限制
(1)React只是一个库,而不是一个完整地框架,
(2)它的库非常庞大,需要时间理解,新手程序员可能很难理解
(3)编程变得复杂,因为它使用内联模板和JSX
6 什么是JSX
JSX是JavaScript XML的缩写,是React使用的一种文件,他利用JavaScript地表现力和类似HTML地模板语法,这使得HTML文件非常容易理解。此文件能使应用非常可靠,并能够提高性能.
7你了解虚拟DOM么,请解释一下它的工作原理
虚拟DOM是一个轻量级的JavaScript对象,它最初只是real DOM的副本,它是一个节点树,他将元素,属性和内容作为作为对象及其属性。React的渲染函数从React组件中创建一个节点数。然后它响应数据模型中的变化来更新该树,该变化是由用户或系统完成的各种动作引起的
虚拟DOM的的三个步骤
(1)每当底层数据发生变化时,整个UI将在虚拟DOM描述中重新渲染
(2)计算之前DOM表示和新表示的差异
(3)计算完成后,用实际更改的内容更新real DOM