📅  最后修改于: 2020-12-19 03:37:55             🧑  作者: Mango
ReactJS是一个声明式,高效且灵活的JavaScript库,用于构建可重用的UI组件。它是一个开源的,基于组件的前端库,仅负责应用程序的视图层。它是由Facebook软件工程师Jordan Walke创建的。它最初由Facebook开发和维护,后来用于其产品如WhatsApp和Instagram。 Facebook在2011年的新闻提要部分开发了ReactJS ,但于2013年5月向公众发布。
今天,大多数网站都是使用MVC(模型视图控制器)架构构建的。在MVC架构中,React是代表视图的“ V”,而架构由Redux或Flux提供。
ReactJS应用程序由多个组件组成,每个组件负责输出一小段可重用的HTML代码。这些组件是所有React应用程序的核心。这些组件可以与其他组件嵌套,以允许使用简单的构建块来构建复杂的应用程序。 ReactJS使用基于虚拟DOM的机制在HTML DOM中填充数据。虚拟DOM快速运行,因为它仅更改单个DOM元素,而不是每次都重新加载完整的DOM。
为了创建React应用,我们编写与各种元素相对应的React组件。我们将这些组件组织在定义应用程序结构的更高级别的组件中。例如,我们采用的表单包含许多元素,例如输入字段,标签或按钮。我们可以将表单的每个元素编写为React组件,然后将其组合为更高级别的组件,即表单组件本身。表单组件将指定表单的结构以及其中的元素。
如今,市场上有许多JavaScript框架(例如角度,节点)可用,但是React仍然进入了市场并在其中流行。先前的框架遵循传统的数据流结构,该结构使用DOM(文档对象模型)。 DOM是每次加载网页时由浏览器创建的对象。它在后端以及完成任何修改后动态添加或删除数据,然后每次为同一页面创建一个新的DOM。重复创建DOM会造成不必要的内存浪费,并降低应用程序的性能。
因此,发明了一种新技术ReactJS框架来消除此缺点。 ReactJS允许您将整个应用程序划分为各种组件。 ReactJS仍然使用相同的传统数据流,但是它不能立即直接在浏览器的文档对象模型(DOM)上运行;相反,它在虚拟DOM上运行。这意味着,对数据进行更改后,它无需解析在浏览器中处理的文档,而是解决了在内存中完全构建并运行的DOM上的更改。在更新虚拟DOM之后,React会确定对实际浏览器的DOM进行了哪些更改。 React Virtual DOM完全存在于内存中,是Web浏览器DOM的表示。因此,当我们编写一个React组件时,我们并没有直接写到DOM。相反,我们正在编写会反应为DOM的虚拟组件。