React学习 | 青训营笔记

60 阅读2分钟

这是我参与「第五届青训营」伴学笔记创作活动的第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

不同点

  1. 核心思想不同 vue:灵活易用的渐进式框架,进行数据拦截/代理,它对侦测数据的变化更敏感、更精确。 React:推崇函数式编程,数据不可变以及单向数据流,当然需要双向的地方也可以手动实现, 比如借助onChange和setState来实现。
  2. 组件写法差异 React主要通过JSX的方式创建组件 Vue是通过将html写在template中创建组件,但Vue也支持JSX的写法