这是我参与[第五届青训营]笔记创作活动的第六天
本课堂重点内容:
- React 历史与应用
- UI 编程的痛点
- 响应式与转换式
- React 设计与实现
- Live Code
- React 实现的基本概要
- React 状态管理库
- 应用级框架的科普
详细知识点介绍:
React 的应用
- 前端应用开发
- 移动原生应用开发
- 结合 Electron 的桌面应用开发
React 历史
- 2010年, Facebook 在其 php 生态中,引入了 xhp 框架,首次引入组合式组件思想,这启发了之后的 React 的设计
- 2011年,Jordan Walke 创造 FaxJS,这便是之后的 React 原型
- 2012年,Facebook 收购 Instagram,该 FaxJS 项目在内部得到使用,开发者基于 Faxjs的经验,创造了 React
- 2013年,React 正式开源
- 2014年 - 至今,生态爆发,无数基于 React 的工具和框架涌现
React 设计思路
UI编程的痛点:
- 状态更新,UI 不会自动更新,需要手动去调用 DOM 更新
- 欠缺基本的代码层面的封装和隔离,代码层面没有组件化
- UI 之间的数据依赖关系,需要手动维护,如果依赖链路过长,会遭遇“回调地狱”即(Callback Hell)
响应式编程:
- 状态更新,UI 自动更新
- 前端代码组件化,可复用,可封装
- 状态之间的互相依赖关系,只需声明即可
组件化:
- 组件可以由其他组件拼接而来
- 组件内拥有私有状态 State,外部不可见
- 组件可接受外部传入的 Props 状态,提高复用性
- 根据当前的 State/Props,返回一个 UI
状态归属问题:
状态归属于两个节点向上寻找到的最近的父级节点
生命周期:
React 状态管理库
核心思想:
将状态抽离到 UI 外部进行统一管理
个人课后总结:
React 的学习门槛较高,需要花费时间去不停的研究