/React

build your own react practice

Primary LanguageJavaScript

react 实践

知识点总结

  • 节点内的内容可以看做是TEXT_ELEMENTnodeValue
  • requestIdleCallback 来处理render循环避免阻塞浏览器进程(react实际上用的是scheduler包)
  • 构建fiber树,首先渲染子节点,如果没有子节点,然后检查子节点的父节点的兄弟节点,依次循环直到root节点,则认为循环完毕
  • 通过对比新旧dom树来确定操作类型
    • 如果dom名称一样则只更新props
    • 类型不一样,则新增节点
    • 类型不一样,并且有旧的节点,则为删除操作
  • 处理事件用addEventListener/removeEventListener来处理
  • function Component 通过运行该function来获得