React基础与实践|青训营笔记

96 阅读2分钟

React特性与简介

React——用于构建用户界面的JavaScript库

特点

使用 JSX 语法

创建组件,实现组件化开发

性能高

通过 diff 算法 和 虚拟 DOM 实现视图的高效更新。

由 Facebook 专门的团队维护,技术支持可靠。

特性

声明式

高效性

组件化

跨平台编写

优点

· 快速响应的Fiber

· 复用性强

· 声明式编程

· 可跨平台编写:只需修改渲染器

缺点

· 大型应用需要配套学习 状态管理、路由工具

· 不适合小型应用,需要用babel处理

React基础

 

用React开发web应用

· 架构——打包配置:JSX->babel->JS,加载优化,错误降级。

· 路由:向应用中快速地添加视图和数据流,保持页面与URL之间的同步。

· UI:可复用UI->组件->页面,可复用逻辑抽离成hook。

· 状态:多页面多组件共享信息,redux&context

用React开发web应用——组件

· 数据:通过定义state操作视图,Mount时获取数据更新state,Ref保存与视图无直接关系的值,unMount前清空Ref。

· 通信:props父子组件通信,redux & context组件信息共享。

· UI:数据决定视图,通过Ref获取DOM。

· 性能:函数使用uesCallback,值或者计算使用useMemo,组件包裹memo。

组件

Class组件

· 继承+构造函数

· this

· 生命周期

· render方法

函数式组件

· 没有生命周期

· 借助Hook

· return JSX

函数式相较于Class的优点

· 代码量骤减,组件干净清爽

· 没有复杂的生命周期

· 支持自定义Hook,逻辑复用方便

组件和hook的关系

· UI被拆分多个独立单元,一个独立单元就是一个组件。

· hook贴近组件内部运行的各种概念逻辑,如effect、state等

Hook的规则与原理

· 只能在最顶层使用Hook,React靠Hook调用的顺序确定state与useState之间的对应关系。

· 只能在React函数中调用Hook。在React函数组件中或自定义Hook中调用,自定义Hook必须以use开头。

· Hook中的state是完全隔离的。

 

总结

通过react组件具体的使用与优化,可以看到这个工具是十分好用,灵活性也非常高,熟练运用有利于提高技术水平,有利于参与潜力大的项目,有利于求职和晋升。