这是我参与「第五届青训营」伴学笔记创作活动的第5天
这篇笔记介绍的是React的历史和优点等相关信息。
关于React
React是用于构建用户界面的JavaScript库,起源于Facebook的内部项目,该公司对市场上所有 JavaScriptMVC框架都不满意,决定自行开发一套,用于架设Instagram的网站。
React的特点
JSX
- JSX 代表 Javascript XML。它是 Javascript 和 Html 的融合。
- 它是一种类似于 HTML 的标记语法,用于描述应用程序的 UI 外观。总体上使代码易于理解和调试,避免了复杂的 javascript DOM 结构。我们也可以用纯旧的 JavaScript 编写,这使得开发更快更容易。
Virtual DOM
- Virtual DOM 表示一个原始 DOM,它允许 React 在其虚拟内存中复制网页。
- 它具有真实 DOM 的所有属性,并且只更新更改的组件,而不是所有组件。这就是 DOM 操作比任何其他框架都快的原因。
组件
- ReactJS 是一个基于组件的架构。应用程序是使用组件构建的,其中每个组件都有其逻辑和控件。
- 组件的逻辑是用 Javascript 编写的,而不是在模板中,因此很容易通过应用程序传递数据而不会中断 DOM。
React的开发方向
- 使用react/rect-dom可以开发Web应用
- 使用react/react-native可以开发移动端原生应用(react-native)RN
- 使用react可以开发VR(虚拟现实)应用(react/react360)
如何使用React
通过react-create-app创建项目
使用react的步骤
- 导入包: React, ReactDOM
- 创建 react元素
- 渲染元素到某个dom上
React与Vue的异同点
相同点
- 数据驱动视图
- 组件化
- 都使用
Virtual DOM
不同点
- 核心思想不同 vue:灵活易用的渐进式框架,进行数据拦截/代理,它对侦测数据的变化更敏感、更精确。 React:推崇函数式编程,数据不可变以及单向数据流,当然需要双向的地方也可以手动实现, 比如借助onChange和setState来实现。
- 组件写法差异 React主要通过JSX的方式创建组件 Vue是通过将html写在template中创建组件,但Vue也支持JSX的写法