React SSR 原理梳理

2021-12-23
阅读 10 分钟
5.3k
本文从React + Redux + React-Router + Express 搭建的 SSR 框架具体讲一下 Next.js 的同构和getServerSideProps是如何实现的

如何在微信小程序中使用多色icon

2021-03-07
阅读 7 分钟
3.8k
背景在微信小程序开发过程中难免会遇到需要使用多色icon的场景,项目中的icon一般存放在iconfont上。iconfont有三种引用方式(参考[链接])unicode引用:因为是字体,所以不支持多色font-class引用:本质上还是使用的字体,所以多色图标还是不支持的symbol引用:支持多色,使用svg渲染但是微信小程序iconfont并不支持<s...

web crash监控

2020-09-04
阅读 6 分钟
6.7k
一般监控web crash就是利用没有unload事件这样一个特点:在页面load后,往sessionStorage里面放一个tag: true, unload后置为false

React diff 算法

2020-06-01
阅读 10 分钟
2.1k
很久以前写过一篇了解虚拟DOM 的文章,主要讲解了vue为什么会使用虚拟 DOM 以及 VUE 的 diff 算法。最近技术栈迁移到了 React,就好好研究了一下 React diff 算法的实现。

React setState是同步还是异步

2020-04-22
阅读 5 分钟
5.5k
环境React 16.9.0React-Dom 16.9.0前言从下面代码的运行结果可以得出如下结论:setTimeout和原生事件中,可以立即拿到更新结果。也就是同步在合成事件和生命周期中,不能立即拿到更新结果。也就是所谓的“异步”在合成事件和生命周期中,如果对同一个值进行多次setState,setState的批量更新策略会对其进行覆盖,取最后一...

redux原理

2020-03-13
阅读 6 分钟
1.5k
Redux is a predictable state container for JavaScript apps. redux借鉴了函数编程的思想,采用了单向数据流的理念。用户不能直接改变store,只能通过派发action来更新store,做到了数据的可追溯。本片文章一步步实现redux,实现对redux原理的理解。

webkit理论知识

2020-02-10
阅读 7 分钟
1.5k
Brower进程:浏览器的主进程,负责浏览器界面的显示,各个页面的管理,是所有其他类型进程的祖先,主要负责他们的创建和销毁工作,它有且仅有一个

React Events

2019-08-26
阅读 7 分钟
4.5k
引言 官方文档对React事件的介绍包含以下几点 React事件是合成事件 有stopPropagation和preventDefault 有nativeEvent上的所有属性 可以通过nativeEvent获取到原生事件 跨浏览器兼容 那么在看源码之前,有以下疑问: 如何监听?监听的什么元素? 如何模拟捕获和冒泡? 如何实现stopPropagation? 为什么要使用合成事件? ...

vue实现梳理

2019-05-08
阅读 3 分钟
1.8k
如果是使用vue的compiler+runtime版本,首先在mount之前会有一个编译流程,会通过new Vue时传入的el或者template里面的元素编译为一个render函数。该步骤主要思路是将template视为一个字符串,通过正则表达式不断匹配tag和attr等,parse生成AST树,之后再将优化后转化为render函数。Vue._init => Vue.$mount => co...

了解虚拟DOM

2018-10-21
阅读 6 分钟
3k
Vue在2.0版本引入了虚拟DOM。其虚拟DOM算法是基于snabbdom算法所做的修改。参看[链接]注释部分。要想了解Vue,必须了解虚拟DOM,本篇文章主要介绍了什么是虚拟DOM,为什么用虚拟DOM以及其具体实现。

JS错误监控总结

2018-04-30
阅读 5 分钟
21.7k
前言做好错误监控,将用户使用时的错误日志上报,可以帮助我们更快的解决一些问题。目前开源的比较好的前端监控有[链接]那前端监控是怎么实现的呢?要想了解这个,需要知道前端错误大概分为哪些以及如何捕获处理。前端错误分为JS运行时错误、资源加载错误和接口错误三种。一、JS运行时错误JS运行时错误一般使用window.on...

input type="file"使用

2018-03-17
阅读 2 分钟
14.7k
问题: 在实际开发过程中,会遇到上传文件的一些需求。但是使用原生的<input type="file" />在使用中存在一些问题 在未上传文件时,显示"no file choosen",用户界面不友好,不可配置 上传同一个文件,不会触发change事件,即使该文件做过修改 用户如果在上传过程中点击了“取消”,已经上传的文件会被移除 解决思路...

讲讲PWA

2017-12-09
阅读 11 分钟
156.5k
一、背景文章2017 前端大事件和趋势回顾,2018 何去何从?中提到了2017年前端值得关注的十大事件,其中就提到了PWA。大家都知道Native app体验确实很好,下载到手机上之后入口也方便。它也有一些缺点:开发成本高(ios和安卓)软件上线需要审核版本更新需要将新版本上传到不同的应用商店想使用一个app就必须去下载才能使用...

写一个JS函数实现以下功能

2017-11-24
阅读 2 分钟
1.7k
函数入参:一个数组,数组元素只能为三种:{flag: true}、{flag: false} 或者''期望返回值:true或者false,满足:1.数组元素只要有一个{flag: false},返回false2.数组元素全为'',返回false3.数组元素非''的全部为{flag: true},返回true