关于函数组件和类组件怎样渲染的问题
来源:14-3 用useState实现state和setState功能

斜杠男人
2021-04-10
函数组件中
1、传递一个新的值给 setCount,会使用最新的 count 重新渲染 Example 组件,但是修改time的值不会重新渲染组件,这是为什么?
2、class组件和函数组件在state变化后执行过程分别是什么样的?
写回答
1回答
-
第一,React 就是这么规定的,它和 Vue 的设计思路不一样,class 组件也是,你得调用 setState 才行,你只修改 state 的属性值不行。React 没有像 vue 一样的响应式机制,你必须 setXxx 手动触发,它就是这样设计的。
第二,class 组件的渲染过程,之前的课程(第 8 章)已经讲过了。函数组件的大概的过程是,重新执行函数,生成新的组件配置,然后进行 diff 、渲染 view 。所以,每次修改 state ,函数组件都会重新执行、返回新内容。
012021-04-11
相似问题