/s/1uCBPdCsHIASifjJpdntrJA 提取码: cabq
![1.png](https://static.golangjob.cn/231009/14033f5b3798fdf4881f50b68cafe553.png)
手写 React 高质量源码,迈向高阶开发教程,16章,2023最新!
1、什么是React?
React是用于构建用户界面的JavaScript库,起源于Facebook的内部项目,该公司对市场上所有 JavaScript MVC框架都不满意,决定自行开发一套,用于架设Instagram的网站。于2013年5月开源。
2、React三大颠覆性的特点
React 的一切都是基于组件的,组件有着良好的封装性,组件可以让代码的复用和测试变得更加简单。各个组件都有着各自的状态,当状态变更时,便会重新渲染整个组件,组件化开发不仅仅应用于 React ,这也是 Web 的发展的趋势。
组件一般会涉及以下几个部分:
props 属性
state 状态
组件的生命周期
无状态函数式组件
state 设计原则
DOM操作
3、对ReactJS的认识及ReactJS的优点
首先,对于React,有一些认识误区,这里先总结一下:
React不是一个完整的MVC框架,最多可以认为是MVC中的V(View),甚至React并不非常认可MVC开发模式;
React的服务器端Render能力只能算是一个锦上添花的功能,并不是其核心出发点,事实上React官方站点几乎没有提及其在服务器端的应用;
有人拿React和Web Component相提并论,但两者并不是完全的竞争关系,你完全可以用React去开发一个真正的Web Component;
React不是一个新的模板语言,JSX只是一个表象,没有JSX的React也能工作
4、如何编写React组件?
下面我们展示如何创建简单的React组件:
import React from 'react';
class Greeting extends React.Component {
constructor(props) {
super(props);
this.state = { name: props.name };
}
render() {
return <h1>Hello, {this.state.name}!</h1>;
}
}
export default Greeting;
5、React有什么优缺点?
优点
1、React速度快、性能好
它并不直接对DOM进行操作,引入了一个叫做虚拟DOM的概念,安插在javascript逻辑和实际的DOM之间,性能好
2、跨浏览器兼容
虚拟DOM的原因帮助我们解决了跨浏览器问题,它为我们提供了标准化的API
3、单向数据流
Flux随着React视图库的开发而被Facebook概念化,是一个用于在JavaScript应用中创建单向数据层的架构
4、React兼容性好
使用RequireJS来加载和打包,而Browserify和Webpack适用于构建大型应用。
缺点
1.并不是一个单独完整的框架
React是目标是UI组件,通常可以和其它框架组合使用,目前并不适合单独做一个完整的框架
有疑问加站长微信联系(非本文作者)
![](https://static.golangjob.cn/static/img/footer.png?imageView2/2/w/280)