什么是React?阅读一篇文章,React


浏览:1112 次

React是Facebook开发的JS库。Facebook为什么要建立React?要解决的主要问题是什么?我们如何通过这个解决问题?

从这些问题中,我在网上搜索,找到了这个解释。

Facebook认为MVC无法满足他们的扩展需求。由于其庞大的代码库和庞大的组织,MVC很快变得非常复杂。每当需要添加新的功能或特性时,系统的复杂性就会成倍增加,使代码变得脆弱和不可预测,从而导致MVC的崩溃。人们认为MVC不适合大规模应用。当系统中有许多模型和相应的视图时,其复杂性会迅速扩大,并且非常难以理解和调试,尤其是模型和视图之间可能的双向数据流。

为了解决这个问题,我们需要“以某种方式组织代码,使其更可预测”,这已经通过他们(Facebook)提出的Flux和React完成。

Flux是一种用于促进app中单向数据流的系统架构。React是一个用于构建“可预测”和“声明性”Web用户界面的JavaScript框架,它使Facebook能够更快地开发Webapp

对于Flux,目前很少有研究和了解。在这里,我将首先展示通量图,并分享我感兴趣或了解的内容,主要是关于React的内容。

通量

React解决了哪些问题?你可以在官方网站上找到这句话:

我们构建React是为了解决一个问题:用随时间变化的数据构建大型app。

为了构建数据会随时间变化的大型app,React有两个主要特点:

简单描述您的app在任何时候都应该是什么样子。当数据发生变化时,React将自动管理UI更新。

当数据更改时,React在概念上与单击F5相同。事实上,它只是更改的一部分。React是关于构建可重用组件的。事实上,您使用React所做的只是构建组件。通过封装,可以更容易地重用组件代码、测试和分离关注点。

此外,在React的官方网站上,通过我们为什么要构建React,我们还可以在文档中了解到以下四点:

React不是MVC框架

React不使用模板

反应式更新很简单

HTML5只是一个开始

React Virtual DOM的主要原则;在传统的webapp中,DOM通常是直接更新的,但我们知道DOM更新通常很昂贵。为了最小化DOM操作,React提供了一种不同而强大的方法来更新DOM,而不是直接的DOM操作。虚拟DOM是一种轻量级的虚拟DOM,是从React抽象出来的对象,用于描述DOM应该是什么样子以及应该如何呈现。虚拟DOM用于更新真实DOM,虚拟DOM管理真实DOM的更新。

为什么我可以通过这个额外的虚拟DOM层更快地进行操作?这是因为React有一个diff算法。更新虚拟DOM并不保证真实DOM会立即受到影响。React将一直等到事件周期结束,然后使用这个diff算法通过比较当前的新DOM表示与之前的表示来计算更新真实DOM的最小步骤。

虚拟DOM

组成部分;DOM树上的节点被称为元素,这里不同。它们被称为虚拟DOM上的组件。虚拟DOM的节点是一个完整的抽象组件,由组件组成。

组件的使用在React中非常重要,因为组件的存在使得计算DOM diff更加高效。

State和RenderRender如何渲染真实的DOM,如何渲染组件,何时渲染,以及如何同步更新。这需要对“状态”和“渲染”进行简要了解。state属性包含定义组件所需的一些数据。当数据更改时,将调用Render以再次渲染。这里,只能通过提供的setState方法更新数据。

相关资讯:
什么是新订单系统

什么是新订单系统

查看
农产品分销软件如何帮助农产品分销

农产品分销软件如何帮助农产品分销

查看
如何成为一名程序员?这是重要的几点

如何成为一名程序员?这是重要的几点

查看
什么是域名归档?我们为什么要归档?备案后,您将获得以下好处!

什么是域名归档?我们为什么要归档?备案后,您将获得以下好处!

查看
上网速度慢。我该怎么办?

上网速度慢。我该怎么办?

查看