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

54 阅读2分钟

一、React简介

1.React的特点 声明式、组件化、跨平台编写(方便操作页面的DOM,服务端渲染等)

2.Thinking in React(React哲学) “使用JS构建快速响应和大型Web程序的首选方式之一” 影响web性能的主要原因:等待资源加载的实践以及浏览器单线程执行 ErrorBoundary:友好的错误提示 对于重更新任务时对任务进行切分,异步更新,操作虚拟DOM 更新流程:调度器,协调器,渲染器相互配合(时间切片任务)

3.总结 优点:快速响应(用户体验好),组件化(复用性强),声明式编程(操作方便),跨平台(只需修改渲染器) 缺点:大型应用需要配套学习状态管理和路由工具,不适合小型应用,需要用babel处理(学习成本大)

二、React基础温故知新

1.用React开发web应用 (1)架构:打包配置 (2)路由:保持页面与URL同步 (3)UI:可复用AI (4)状态:多页面多组件共享信息 单组件开发: (1)数据:定义state操作视图(ref API) (2)UI:通过Ref获取DOM (3)通信:context & redux组件信息共享 (4)性能:useCallback,useMemo,memo

2.组件 Class组件:继承+构造函数,this,生命周期(组件挂载、取消、卸载...),render方法 函数式组件:没有生命周期,借助Hook,return JSX 函数式组件的代码看起来更简洁,清爽,没有复杂的生命周期,支持自定义hook,逻辑复用方便

3.Hook的规则&原理 只能在最顶层使用hook,只能在React函数中调用hook

4.Hook过期闭包问题

5.React常见API及作用 见PPT,上面的挺全的

三、具体场景案例 以火山引擎产品界面为例子

1.如何划分组件? Layout层面:NavBar,Footer,MainContent,Floating Button Page层面:Banner,Card,Sider,Help,Footer Component:BlockHeader,BlockWrapper,SlideButton,AnimnationWrapper,SizeText

2.父子组件通信 知道子组件的表现:通过props 不知道:props. children 通过callback传递信息

3.组件间共享信息 context & reducer

4.组件性能优化

四、感想与体会 这门课让我对React有了更深的理解,不同的前端框架都有不同的特性,React的特性使其非常适合用于构建大型Web程序的页面。课程视频对小白来说有很多新概念,很多都可以直接应用在工业界。小型应用程序或许使用Vue构建页面更加合适,更好上手,并且也有很多组件库。如今React是当下主流的前端框架之一,掌握React对前端学习来说应该是必不可少的。笔记的内容大致是视频的要点,并不是很细,但是作为回忆来说还是不错的。