Immer
Immer
[[toc]]
React中浅层次拷贝的问题const detail = {name:'和振峰',school:{loc:'shijaizhuang'}}const copy = Object.assign({},detail) ...
问题验证解析
问题验证解析
[[toc]]
setState为什么是异步的、什么时候是异步的?setState本身的执行过程是同步的,只是因为在react的合成事件与钩子函数中执行顺序在更新之前,所以不能直接拿到更新后的值,形成了所谓的异步;
在原生事件与setTimeout中是同步的
验证结果
import R ...
React16 Fiber
React16 Fiber
[[toc]]
React早期的优化都是停留于JS层面(vdom的 create/diff),诸如减少组件的复杂度(Stateless),减少向下diff的规模(SCU),减少diff的成本(immutable.js),当然,也有例外,比如针对老式的IE的LazyDOMT ...
Router原理
Router原理
[[toc]]
react-router 和 react-router-dom
react-router是浏览器和原生应用的通用部分。
react-router-dom是用于浏览器的。
react-router-native是用于原生应用的。
react-router-config ...
MAC整理
MAC整理
[[toc]]
MAC整理配置sudo免密码创建root账户
1. 需要在/etc/sudoers中配置。这个文件的权限是只读,配置之前需要加写权限。sudo chmod u+w /etc/sudoers
2. 打开命令窗口sudo visudo 或者 sudo vi /etc/sudo ...
git基础
git基础
[[toc]]
git emoji执行 git commit 时使用 emoji 为本次提交打上一个 “标签”, 使得此次 commit 的主要工作得以凸现,也能够使得其在整个提交历史中易于区分与查找。
emoji
emoji 代码
commit 说明
:tada: (庆祝) ...
ES6-新增特性一览
ES6-新增特性一览
[[toc]]
1. let/const取代var2. 字符串模板3. 对象解构4. 新数据类型 Symbol5. 新数据结构Map/Set/WeakMap/WeakSet6. Proxy、Reflect7. 扩展
字符串填充(padStart 和 padEnd)
Array ...
Babel-polyfill
Babel-polyfill
[[toc]]
@babel/preset-env、@babel/polyfill和@babel/plugin-transform-runtime
@babel/preset-env:转换一般语法,以确保代码在指定的旧版环境中运行. 示例:将 let 转换为 var,将 ...
Webpack的使用
Webpack的使用
[[toc]]
优化速度1.异步加载模块2.提取第三库3.代码压缩4.去除不必要的插件5.图片base646.按需加载7.开启Gzip压缩8.多进程打包
splitChunks分割拆包chunk-vendors.js 简介顾名思义,chunk-vendors.js 是捆绑所有 ...
Event-Loop
Event-Loop
[[toc]]
同步 & 异步 & 多线程同步与异步的区别
同步(Synchronous):在执行某个操作时,应用程序必须等待该操作执行完成后才能继续执行。异步(Asynchronous):在执行某个操作时,应用程序可在异步操作执行时继续执行。实质:异步操作,启 ...