• react中dom的渲染流程


    1. react中的虚拟dom,本质上是一种对象形式到dom的描述,虚拟dom的操作是在js层面的计算,如果把js映射生成真实的dom
    2. 调用生命周期中的render方法,生成虚拟dom,然后再调用reactDom.render方法,实现虚拟dom的真实dom转换
    3. 组件的再次更新,会再次调用render方法生成新的虚拟dom,然后借助diff定位出两次虚拟dom的差异,从而针对变化的真实dom做出定向更新
    4. react的diff算法,本质通过分层算法,节点前后位置的替换,会导致替换的节点全部被删除,然后重新生成新的节点挂载在上面。key的作用是确定唯一的ID,来让diff比较时确定是否需要重新生成
    5. react的setState为异步操作,在内部通过添加一个锁机制,来实现值的批量更新,在setTimeout(fu, 0)中,fn中的setState为同步更新
    6. 在使用ts时,js对应ts结尾文件,jsx对应tsx结尾文件
    7. 什么是jsx
      1. jsx是JavaScript的一种语法扩展,和模板语法很接近,当时充分具备JavaScript的能力
    8. jsx是怎么在JavaScript中生效的
      1. jsx是通过babel转换为JavaScript的
      2. babel会吧jsx代码转化为react.createElement调用
      3. jsx本质是React.createElement这个JavaScript调用的语法糖
      4. jsx语法糖允许前端开发者使用我们最熟悉的HTML标签语法来创建虚拟dom
    9. 页面tree = dom tree + css tree
    10. 页面的回流与重绘
    11. 代码编译流程 => 词法解析 => 语法解析 => 生成AST语法树
  • 相关阅读:
    java keytool证书工具使用小结(转)
    Https socket 代理
    SSL连接出现的问题
    Https 代理 sslsocket
    Https socket 连接
    linux系统一键安装phpstudy的lnmp环境
    Yii2框架实现计数器功能
    yii2框架增删改查案例
    yii2框架原生的结合框架使用的图片上传
    php将抓取的图片链接下载到本地
  • 原文地址:https://www.cnblogs.com/sk-3/p/13997156.html
Copyright © 2020-2023  润新知