React | 青训营笔记

79 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第6天

本堂课的重点内容

讲述了React的历史与应用、React的设计思路、讲述了React的写法等。。。


React的历史与应用

React的历史

2010 Facebook在其PHP生态中,引入了xhp框架,首次引入了组合式组件的思想,启发了后来的React的设计。
2011 Jordan Walker创造了FaxJS,也就是后来的React原型。
2012 在Facebook收购Instagram后,该FaxJS项目在内部得到使用,Jordan Walker基于FaxJS的经验,创造了React。
2013 React正式开源,在2013JSConf上Jordan Walke介绍了这款全新的框架。

React的应用

01 前端应用开发,如Facebook、Instagram、Netflix网页版。
02 移动原生应用开发,如Instagram、Discord、Oculus。
03 结合Electron,进行桌面应用开发。

React的设计思路

响应式与转换式

image.png

响应式系统

image.png

前端UI

image.png

响应式编程

01 状态更新,UI自动更新
02 前端代码组件化,可复用,可封装
03 状态之间的互相依赖关系,只需声明即可

组件化

01 组件是组件的结合/原子组件
02 组件内拥有状态,外部不可见
03 父组件可将状态传入组件内部

React(hooks)的写法与React实现

useState

传入一个初始值,返回一个状态,和set该状态的函数,用户可以通过调用该函数,来实现状态的修改。

useEffect

传入一个函数,和一个数组,数组是状态的数组,称作依赖项,该函数在mount时,和依赖项被set的时候会执行。
有“副作用”的函数,要传入useEffect来执行。副作用代表除了单纯的计算之外,还要做其他的一些事情,比如网络请求,更新DOM,localStorage存储数据等。

Hook使用法则

不要在循环,条件或嵌套函数中调用Hook.