这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天
1、组件化
- 1、组件内部拥有私有状态State
- 2、组件接受外部的Props状态提供复用性
- 3、根据当前的State/Props,返回一个UI
react是作为一个响应式编程的
生命周期
react内部的各个钩子hook都有各自的生命周期,在render渲染的前后
hooks的写法
hooks其实是面向函数式编程的,与原来的类式组件不同,属于函数式组件
正如图中表现的那样,hooks是需要从react里面引入的,需要用到什么钩子的时候就引入对应的钩子实现对应的功能即可。
也就是说类式组件是将所有的功能都打包在一起的,直接调直接使用即可;而hooks作为函数式组件,文件中使用的功能在第一行引入里面就能清晰的看出有哪些功能,而且是一个函数对应着一个功能,很清晰
hooks函数式
是未来,react官网也明确表示大力支持函数式编程了,改变原来的类式编程
虚拟DOM
这里面声明式API,就会区别于原来的指定式编程。
在指定式编程里面,假如需要烧水的话,指定式编程会先加水,找热水壶,开始烧水之类的,一步步来,需要我们亲自写好每一步的流程,每一步该做什么,而声明式编程只需要告诉浏览器:我要烧水了!即可
diff算法
这里面虚拟DOM最终还是需要交给真实DOM的,但是虚拟DOM在提交之前会先使用diff算法进行判断:修改了多少个节点,于是只需要将修改的节点返回给真实DOM就好,剩下的没有变化的节点就不需要反复提交,来增加浏览器反应时间了(因为假如直接使用真实DOM的话,每次修改内容都会重新提交整个页面,较耗时耗费精力,所以diff算法会极大的缩短这个时间)