Skip to content

面试大纲: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)

共 20 个模块,1301 篇 Markdown 文档。