面试大纲:00
说一下对组件化的理解
- 组件封装:封装视图、数据、变化逻辑
- 组件复用:props传递、复用
JSX本质是什么
- JSX语法(标签、JS表达式、判断、循环、事件绑定)
- JSX是语法糖,需被解析成JS才能运行
- JSX是独立的标准,可被其他项目使用
JSX和Vitual DOM的关系
- JSX需要渲染成HTML,数据驱动视图
- React.createElement和h都生成vnode
- 何时patch:ReactDOM.render()和setState
- 自定义组件的解析:初始化实例,然后执行render
说一下setState的过程
- 每个组件实例,都有 renderComponent 方法
- 执行 renderComponent 会重新执行实例的 render
- render 函数返回 newVnode,然后拿到 preVnode
- 执行 patch(preVnode, newVnode)
