React基础与实践

50 阅读2分钟

React基础与实践

01 react特性与简介

React哲学

React是用javascript构建快速响应的大型Web应用程序的首选方式之一。它在Facebook和Instagram上表现优秀。

等待资源加载时间和大部分情况下浏览器单线程执行是影响web性能的两大主要原因。

等待资源:一次请求太多资源、网络请求慢、资源加载失败

浏览器线程执行:JS执行、浏览器计算样式布局、UI绘制

更新流程

Scheduler(调度器):维护时间切片(类似requestldleCallback);与浏览器任务调度;优先级调度

Reconciler(协调器):将JSX转化为Fiber;Fiber树对比(双缓存);确定本次更新的Fiber

Renderer(渲染器):渲染器用于管理一颗React树,使其根据底层平台进行不同的调用。

总结-优缺点

优点:快速响应:Fiber;组件化:复用性强;声明式编程;跨平台:只需修改渲染器

缺点:大型应用需要配套学习状态管理、路由工具;不适合小型应用,需要用bable处理

组件:Class组件;继承+构造函数;This;生命周期;Render方法

函数式组件:没有生命周期;借助hook;return JSX

函数式 相较于 class的优点:代码量骤减,组件干净清爽;没有复杂的生命周期;支持自定义hook,逻辑复用方便。

Hook 规则和原理:

1-只能在最顶层使用hook

2-只能在react函数中调用hook

在react函数组件中或自定义hook中调用

自定义hook必须以use开头

Hook中的state是完全隔离的

Hook过期闭包问题

在JS中,函数运行的上下文是由定义的位置决定的,当函数的闭包包住了旧的变量值时,就出现了过期闭包问题。 什么是状态管理

状态管理工具的本质:管理共享内存中的状态。

1、共享内存;2、管理状态;3、页面通信;4、组件通信;5、刷新实现。