❤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全家桶
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 特点和作用
- 声明式设计 (声明式编码)
- 组件化编码(组件化模式)
- 高效灵活(优秀的Diffing算法),最小化页面重绘
- React Native 编写原生应用
- JSX 语法
- 单向数据绑定
- 虚拟 DOM
使用虚拟(virtual)DOM, 不总是直接操作页面真实DOM。
- Component
- React Native 可以使用React语法进行移动端开发
作用
开发web应用
使用React 开发移动端原生应用React-native
VR 虚拟现实 react360
5. JavaScript 主要使用核心点
判断this指向 class(类) ES6语法规范 npm包管理器 原型、原型链 数组常用方法 模块化
6、react核心部分(函数式组件)
经过对于前面React知识的了解,想必也清楚了对于React官方来说,更加重要的是哪些
最核心的当然就是函数式组件的使用,接下来的部分大部分都会以函数式组件为主进行讲解
也就是下面这种最简单的函数式组件的编写!
import React from 'react'
function mycomponents {
render() {
return (
<div>header</div>
)
}
}