React 基础与实践
在学习课程之前,我只在网上学习过Vue框架,做的项目也是基于vue架构的项目,这一次课程,让我学习到了react框架,对于目前前端开发框架有了更深的了解,尤其是VUE和react的异同之处,还有设计上也有相似的地方,让我对vue框架设计的原理有了更深层次的认识,也学习到了react这个有所不同的主流框架
与vue一样,react前端框架也有它特有的独特之处
1、声明式
2、组件化
3、跨平台编写
React哲学(Thinking In React):React 是用JavaScript 构建快速响应的大型 Web应用程序·的首选方式之一。它在Facebook.和Ilnstagram上表现优秀。
优点:
快速响应:Fiber
组件化:复用性强
声明式编程
跨平台:只需修改渲染器
缺点:
大型应用需要配套学习状态管理、路由工具
不适合小型应用,需要用babel 处理
用React开发Web应用:
架构:打包配置:JSX ->babel -> J5.加载优化和错误降级。
路由:React Router向应用中快速地添加视图和数据流,保持页面与uRL间的同步。
UI:可复用UI->组件->页面、可复用逻辑抽离成hook。
状态:多页面多组件共享信息redux &context
数据:通过定义state操作视图Mount时获取数据更新stateRef 保存与视图无直接关系的值unMount前清空Ref
通信:props父子组件通信、context &redux组件信息共享
UI:数据决定视图、通过Ref 获取到DOM
性能:函数使用useCallback值或者计算使用useMemo组件包裹memo
Class组件:
函数式组件:
函数式相较于Class的优点
代码量骤减,组件干净清爽。没有复杂的生命周期。
支持自定义hook,逻辑复用方便。
组件和Hook的关系
我们将UT拆成多个独立单元,这些单元组合可以构成多种视图展示,这些独立单元就是组件。组件相当于原子。
hook 贴近组件内部运行的各种概念逻辑,effecf.state. context等。hooks.更贴切于电子。