william.chan's blog

done is better than perfect

React: 在react中通过ref获取input值

this.refs.user.value, ref='user'

在react中通过ref获取input值 1 2 3 4 5 6 this.refs.user.value this.refs.pwd.value <input type="text" ref="user" /> <input type="password" ref="pwd" />

React: 生命周期流程图

挂载、更新和卸载

React 生命周期流程图

JavaScript: 事件传递的3个阶段

addEventListener、捕获、事件处理阶段和冒泡

事件传递的3个阶段 addEventListener 1 2 obj.addEventListener('click', func, true); // 捕获方式 obj.addEventListener('click', func, false); // 冒泡方式 示意图 捕获阶段、事件处理阶段和冒泡阶段 执行栈和异步队列 执行栈:先执行同步代码,再执行异步代...

NodeJS: nvm 和 npm 使用淘宝镜像

设置环境变量 NVM_NODEJS_ORG_MIRROR

nodejs和npm的仓库托管在S3上,在国内访问十分困难,这里可以用淘宝的镜像站npm.taobao.org代替。 nvm使用淘宝镜像 很多人会使用nvm管理本地nodejs版本。而nvm支持通过环境变量指向nodejs和iojs的下载地址。 1 2 3 # vim ~/.zshrc export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.or...

Mac: mac2015菜单栏不显示隔空播放

2016年之前推出的 MacBook Pro不支持

mac2015菜单栏不显示隔空播放 https://discussionschinese.apple.com/thread/251237371

Redux: store.dispatch(getAllProducts());

问什么 getAllProducts() 返回一个函数而不是一个action?

问题 store.dispatch(getAllProducts()); 问什么 getAllProducts() 返回一个函数而不是一个action? 什么是 thunk?! thunk 是一个包含表达式的函数,用于延缓表达式的执行。 1 2 3 4 5 6 7 8 // calculation of 1 + 2 is immediate // x === 3 let x = 1...

React 组件生命周期流程图

创建-更新-卸载

组件生命周期流程图 参考 《React+Redux前端开发实战》ch02

Linux: tree 命令

tree命令以树状图列出文件目录结构

tree命令显示当前文件夹的目录结构,这是一个非常有用的命令,可以帮我们迅速了解当前目录的结构。 安装方法 brew install tree 常用参数 1 2 3 4 5 6 tree -aI "node_modules|.git" # -a 显示出隐藏文件 .gitignore tree -I "node_modules" # -I命令允许你使用正则匹配来排除掉你不想看到的文件夹...

webpack 4.43.0: TypeError: CleanWebpackPlugin is not a constructor

new CleanWebpackPlugin() // 清除文件

TypeError: CleanWebpackPlugin is not a constructor 错误信息 1 2 3 4 5 6 7 8 /Users/chanweiyan/jd/react-redux/react-hello-world/webpack.config.js:36 new CleanWebpackPlugin(["dist"]) // 清除文件 ^...

Git: .gitkeep

对于空目录的追踪我们可以用.gitkeep来做

简介 本文主要介绍在git中, .gitkeep的作用。 作用 git无法追踪一个空的文件夹,当用户需要追踪(track)一个空的文件夹的时候,按照惯例,大家会把一个称为.gitkeep的文件放在这些文件夹里。 示例 就个人而言,一般需要.gitkeep地方,是希望完成以下功能: 使git忽略一个文件夹下的所有文件,并保留该文件夹 # .gitignore # ignore ...