摘要: import React from 'react'; import { Button, Form, Input, Table, Upload } from 'antd'; import 'antd/dist/antd.css'; import XLSX from 'xlsx' class MyTes 阅读全文
posted @ 2021-07-16 21:54 __前端工程师 阅读(46) 评论(0) 推荐(0)
摘要: 发布-订阅机制 最简单的发布订阅就是addEventListener,先监听click,之后点击元素触发事件。 可以看到两个关键的动作:事件的监听(订阅)和事件的触发(发布) 手写发布订阅模型 on():负责注册事件的监听器,指定事件触发时的回调函数。 emit():负责触发事件,可以通过传参使其在 阅读全文
posted @ 2021-06-12 18:49 __前端工程师 阅读(128) 评论(0) 推荐(0)
摘要: 浏览器渲染原理和关键渲染路径 ​ 当浏览器拿到服务端返回的资源后,第一步是通过一些解释器将文本翻译成计算机能理解的数据结构,先是把html和css转换成DOM和CSSOM,然后将两棵树做一个合并,形成Render Tree,这个时候会把真正要显示的东西留下,不显示的东西去掉,比如某个节点的displ 阅读全文
posted @ 2021-06-06 15:58 __前端工程师 阅读(117) 评论(0) 推荐(0)
摘要: ​ 简单来讲,操作真实 DOM 会引起重排和重绘,会影响到性能,因此要尽量减少 DOM 操作。 createElement ​ JSX 每一个节点都会被转化为createElement方法,这个方法会返回virtual dom对象 function createElement(type, props 阅读全文
posted @ 2021-06-01 22:38 __前端工程师 阅读(369) 评论(0) 推荐(0)
摘要: requestIdleCallback ​ 利用浏览器的空余时间执行任务,如果有更高优先级的任务要执行时,当前执行的任务可以被终止。 function calc(deadline) { // deadline.timeRemaining() 获取浏览器的空余时间 if(deadline.timeRe 阅读全文
posted @ 2021-06-01 22:36 __前端工程师 阅读(1000) 评论(0) 推荐(0)
摘要: 模板编译的作用 ​ 主要目的是将template转换为渲染函数(render) <div> <h1 @click="handler">title</h1> <p>some content</p> </div> ​ 渲染函数 render render(h) { return h('div', [ h 阅读全文
posted @ 2021-05-31 20:27 __前端工程师 阅读(353) 评论(0) 推荐(0)