什么是React?

一、React简介

1、React是Facebook开发的一款JS库。

2、React一般被用来作为MVC中的V层,它不依赖其他任何的库,因此开发中,可以与任何其他的库集成使用,包括Jquery、Backbone等。

3、它可以在浏览器端运行,也可以通过nodejs在服务端渲染。

4、React的思想非常独特,性能出众,可以写出重复代码少,逻辑清晰的前端代码。

5、React的语法是jsx,通过使用这种语法,可以在react代码中直接混合使用js和html来编写代码,这样代码的逻辑就非常清晰,当然也意味着,需要将jsx代码编译成普通的javascript代码,才能在浏览器中运行,这个过程根据实际项目情况,可以选择多种不同的思路,或者在服务器端通过webpack进行编译。

二、React有什么特点?

什么是React?_第1张图片

1、 声明式设计 -React采用声明范式,可以轻松描述应用。

2、以组件的方式开发

3、使用特殊的jsx(JavaScript XML)语法

4.、高效 -React通过对DOM的模拟使用了虚拟DOM,最大限度地减少与DOM的交互。

什么是JSX?

{ this.state.s.title }
    { this.state.list.map((item,index)=>{ return
  • { item }
  • }) }

JSX是一种JavaScript的语法扩展,运用于React架构中,其格式比较像是模版语言,但事实上完全是在JavaScript内部实现的。元素是构成React应用的最小单位,JSX就是用来声明React当中的元素,React使用JSX来描述用户界面。

可以通过以下三个方面了解JSX:

1)JSX 是一种 JS 扩展的表达式
2)JSX 是带有逻辑的标记语法,有别于 HTML 模版
3)并且支持样式、逻辑表达式和事件

什么是虚拟DOM?

传统的 DOM 操作是直接在 DOM 上操作的,当需要修改一系列元素中的值时,就会直接对 DOM 进行操作。而采用 Virtual DOM 则会对需要修改的 DOM 进行比较(DIFF),从而只选择需要修改的部分。也因此对于不需要大量修改 DOM 的应用来说,采用 Virtual DOM 并不会有优势。开发者就可以创建出可交互的 UI。

在React中,render执行的结果得到的并不是真正的DOM节点,结果仅仅是轻量级的JavaScript对象,我们称之为virtual DOM。

虚拟DOM是React的一大亮点,具有batching(批处理)和高效的Diff算法。这让我们可以无需担心性能问题而”毫无顾忌”的随时“刷新”整个页面,由虚拟 DOM来确保只对界面上真正变化的部分进行实际的DOM操作。在实际开发中基本无需关心虚拟DOM是如何运作的,但是理解其运行机制不仅有助于更好的理解React组件的生命周期,而且对于进一步优化 React程序也会有很大帮助。

虚拟的DOM的核心思想是:对复杂的文档DOM结构,提供一种方便的工具,进行最小化地DOM操作。这句话,也许过于抽象,却基本概况了虚拟DOM的设计思想

三、React有什么优缺点?

优点

1、React速度快、性能好

它并不直接对DOM进行操作,引入了一个叫做虚拟DOM的概念,安插在javascript逻辑和实际的DOM之间,性能好

2、跨浏览器兼容

虚拟DOM的原因帮助我们解决了跨浏览器问题,它为我们提供了标准化的API

3、单向数据流

Flux随着React视图库的开发而被Facebook概念化,是一个用于在JavaScript应用中创建单向数据层的架构

4、React兼容性好

使用RequireJS来加载和打包,而Browserify和Webpack适用于构建大型应用。

缺点

1.并不是一个单独完整的框架

React是目标是UI组件,通常可以和其它框架组合使用,目前并不适合单独做一个完整的框架

你可能感兴趣的:(react,react.js,javascript,前端)