Skip to content

❤01-初识React

前置了解

该React体系文章目标:

React基础、React Hooks、React路由、React Redux、组件库、immutable、Mobx、React+TS写法、单元测试、dva+umi

1. React 官网

英文官网: reactjs.org/

中文官网: react.docschina.org/

2. 认识React

React描述

React是一个用户构建用户界面的JavaScript库 从MVC思想来看,React仅仅是是视图层(v层)

React主要思想

完全利用JS语言的能力创建组件

React全家桶

javascript
React语法基础
React-Router
Redux
React-Hooks
PubSub
Ant-Design
umi

3. React起源

(1)React简述

React 起源于 Facebook 的内部项目,该公司对市场上所有 JavaScript MVC 框架都不满意,Jordan Walke就决定自己写一套,用来架Instagram 的网站。做出来以后,发现这套东西很好用,在2013年5月开源。

React的创始人Jordan Walke

Facebook的前端工程师,还参与了许多其他前端开源项目的开发,如Flux、Jest和Flow等。他在前端技术方面的贡献得到了广泛认可,被誉为“现代前端开发的先驱

开发React的背景

Jordan Walke在开发React时,最初是为了解决Facebook内部的一些前端问题,如复杂UI组件的构建、高效的渲染以及数据管理等。他认为传统的前端开发方式过于繁琐,需要手动操作DOM,造成性能问题和代码复杂度的提高。因此,他设计了React的虚拟DOM和组件化思想,使得开发者可以更加高效地构建复杂UI组件,并且可以更加方便地管理数据。

React历史

------------------------------------------------------

2011年开始开发React,2013年,React首次发布成为了一个开源项目。在React发布后,它的影响力迅速扩大,成为了当今最流行的前端框架之一。React的成功也推动了整个前端技术的发展,使得前端开发变得更加高效和可靠。

(2)对比Vue

Vue的创始人

Vue.js的创始人是尤雨溪(Evan You),他是一位中国程序员,曾在Google和Meteor工作。他在2014年创建了Vue.js,并在不到一年的时间内将其推向开发者社区。

____________________________________________________________

尤雨溪在创建Vue.js的时候,旨在解决现有的前端框架(如Angular和React)存在的一些问题,例如过于复杂、学习曲线陡峭等。他希望创造一种更加轻量级、易学易用的框架,同时保持足够的灵活性和可扩展性,以满足开发者的需求。


Vue.js的设计理念是“渐进式框架”,即可以逐步引入到现有项目中,而不需要全面重构。这使得Vue.js非常适合中小型项目,同时也可以用于大型企业级项目。


在Vue.js发布后,它迅速获得了广泛的关注和使用。尤雨溪也因此成为前端开发社区中备受尊敬的人物之一。他继续致力于Vue.js的开发和推广,同时也在全球范围内进行了许多关于Vue.js的演讲和培训。


(3) React和vue的理念对比

React其实是作为MVC架构的V层---仅仅是UI React完全利用JS语言自身能力来编写ui,而不是造轮子增强HTML功能 Vue则是造轮子增强HTML功能

(4)进一步介绍

虚拟DOM - React为了更高超的性能而使用虚拟DOM作为其不同的实现。 它同时也可以由服务端Node.js渲染 - 而不需要过重的浏览器DOM支持

数据流 - React实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。

React 的设计思想极其独特,属于革命性创新,性能出众,代码逻辑却非常简单。

项目本身也越滚越大,从最早的UI引擎变成了一整套前后端通吃的 Web App 解决方案。衍生的 React Native 项目,目标更是宏伟,希望用写 Web App 的方式去写 Native App。如果能够实现,整个互联网行业都会被颠覆,因为同一组人只需要写一次 UI ,就能同时运行在服务器、浏览器和手机。

4. React 特点和作用

  1. 声明式设计 (声明式编码)
  2. 组件化编码(组件化模式)
  3. 高效灵活(优秀的Diffing算法),最小化页面重绘
  4. React Native 编写原生应用
  5. JSX 语法
  6. 单向数据绑定
  7. 虚拟 DOM

使用虚拟(virtual)DOM, 不总是直接操作页面真实DOM。

  1. Component
  2. React Native 可以使用React语法进行移动端开发

作用

开发web应用

使用React 开发移动端原生应用React-native

VR 虚拟现实 react360

5. JavaScript 主要使用核心点

判断this指向 class(类) ES6语法规范 npm包管理器 原型、原型链 数组常用方法 模块化

6、react核心部分(函数式组件)

经过对于前面React知识的了解,想必也清楚了对于React官方来说,更加重要的是哪些

最核心的当然就是函数式组件的使用,接下来的部分大部分都会以函数式组件为主进行讲解

也就是下面这种最简单的函数式组件的编写!

javascript
import React from 'react'
function mycomponents {
  render() {
    return (
      <div>header</div>
    )
  }
}

Released under the MIT License.