【译】不要再问我React Hooks能否取代Redux了

2019-09-04
阅读 5 分钟
2.8k
原文地址:Stop Asking if React Hooks Replace Redux 许多同事一直问我一些类似的问题: “如果我们在项目中使用hooks,我们是否还需要Redux?” “React Hooks会不会使Redux太过时了?我能不能用Hooks来做所有Redux能做的事呢?” 在Google中搜索会发现,大家经常问这些问题。 “React Hooks是否会取代Redux?”,最简单的回...

如何利用JavaScript的Map提升性能

2019-08-13
阅读 4 分钟
2.4k
在ES6中引入JavaScript的新特性中,我们看到了Set和Map的介绍。与常规对象和Array不同的是,它们是“键控集合(keyed collections)”。这就是说它们的行为有稍许不同,并且在特定的上下文中使用,它们可以提供相当大的性能优势。

前端UI自动化测试(TypeScript+Jest+Puppeteer)

2019-08-09
阅读 3 分钟
5.8k
最近几个月来,笔者一直在探索前端UI自动化测试的场景和方案。最初的时候,面对众多的技术选型,显得有些茫然,而团队此前也没有太多关于这方面的经验,只能一步一步摸索总结,当然期间也踩过不少坑,最终形成了一套相对稳定的测试方案,未来还将继续扩展和完善。

A fascinating technique that can greatly reduce your code

2019-04-08
阅读 3 分钟
1.3k
It's a common way in most web developers that write JavaScript with ES6+ and then bundle it to ES5, so that it can run in all browsers. However, the modern browsers support ES6 natively so it's unnecessary to shipping a lot of polyfills.

The impacts of using index as key in React

2019-01-22
阅读 3 分钟
1.7k
Let's say there's a list that you want to show in React, and some developers may use index as key to avoid the warning of React, like this:

React's setState is not asynchronous!

2019-01-15
阅读 5 分钟
1.5k
We always hear that React's setState is asynchronous, and I've been convinced of this until I read the source code of React.

电影《动物世界》对战系统(Javascript)

2018-11-01
阅读 7 分钟
2.2k
最近刷了一部电影《动物世界》,感概原来简单的“剪刀石头布”游戏还可以这么烧脑,强大的数据分析能力、对人性心理的灵敏嗅觉等。看完之后饶有兴致,于是便利用socket技术,实现了一个“动物世界”多人对战系统。

移动端模拟滚动

2018-09-10
阅读 2 分钟
4.7k
由于移动端原生滚动的局限性以及兼容性,部分特定场景的需求无法满足。例如,笔者最近就接了一个需求:整个页面分为三块,每块内容的高度不等(但都超过一屏),要求滚动到内容的临界点有一个停顿的效果,下拉可以看到下一块的部分内容,满足条件则滑到下一块内容。这种场景下,原生的滚动根本无法支持。因此,本文的主...

Redux其实很简单(原理篇)

2018-06-28
阅读 6 分钟
1.6k
在上一篇文章中,我们通过一个示例页面,了解到Redux的使用方法以及各个功能模块的作用。如果还不清楚Redux如何使用,可以先看看Redux其实很简单(示例篇),然后再来看本文,理解起来会更加轻松。

REM,你这磨人的小妖精!

2018-06-19
阅读 4 分钟
2.1k
移动端的崛起,给了我们前端更大的舞台,与此同时,也给我们带来了一系列头疼的问题,移动端适配就是其中之一,目前市面上最常用的方案即是REM适配。

从实践中寻找webpack4最优配置

2018-05-25
阅读 5 分钟
12k
笔者最近在准备给fle-cli升级到webpack4版本,觉得有必要将探索过程的经验分享给大家,遂决定写这篇文章。(不知道fle-cli?看这里)

基于canvas生成图片

2018-05-07
阅读 2 分钟
8.7k
随着APP的获客成本越来越高,很多产品开始从wap页引流,而最常见的方式便是分享,尤其是在微信中。因此诞生了一些新玩法,比如生成一张海报图片,用户可以保存或分享到其他平台。

全局脚手架了解一下【fle-cli】

2018-04-28
阅读 2 分钟
1.6k
它是真正意义上的全局脚手架,区别于市面上其他的全局脚手架,它不会在项目工程中生成各种编译配置文件,也不会给你安装一系列编译的依赖包,这意味着你的项目工程可以非常干净纯粹。

移动端手势库设计与实践

2018-03-26
阅读 6 分钟
2.6k
前言 本次给大家分享的是常见的移动端单点触摸事件的设计思路及实践。 核心技术 主要就是利用移动端的以下3个触摸事件,来模拟和实现自定义的手势操作 touchstart:手指触摸到屏幕的一瞬间触发 touchmove:手指在屏幕上移动时触发 touchend:手指从屏幕上离开时触发 概念梳理 touch事件触发时,有3组数据可以获得触摸信...

原生js系列之无限循环轮播组件

2017-12-14
阅读 10 分钟
8.9k
前情回顾 在上一篇文章中,我们封装了一个DOM库(qnode),为了让大家直观地感受到其方便友好的自定义工厂模式,于是给大家带来了这篇文章。 没有看过上一篇文章的话,可以在这里找到:原生js系列之DOM工厂模式。 那么这篇文章,我们将基于上述的qnode,从头开始写一个无限循环轮播图的组件。 思路讲解 先看一张轮播布局...

原生js系列之DOM工厂模式

2017-12-14
阅读 10 分钟
2k
写在前面 如今,在项目中使用React、Vue等框架作为技术栈已成为一种常态,在享受带来便利性的同时,也许我们渐渐地遗忘原生js的写法。 现在,是时候回归本源,响应原始的召唤了。本文将一步一步带领大家封装一套属于自己的DOM操作库,我将其命名为qnode。 功能特性 qnode吸收了jquery优雅的链式写法,并且融入了我个人的...

禁止蒙层底部页面跟随滚动

2017-12-06
阅读 4 分钟
36.5k
弹窗是一种常见的交互方式,而蒙层是弹窗必不可少的元素,用于隔断页面与弹窗区块,暂时阻断页面的交互。但是,在蒙层元素中滑动的时候,滑到内容的尽头时,再继续滑动,蒙层底部的页面会开始滚动,显然这不是我们想要的效果,因此需要阻止这种行为。

Rollup脚手架【roller-cli】

2017-05-14
阅读 1 分钟
4.6k
The CLI of rollup to generate template project. Installation {代码...} Usage {代码...} Feature tree shaking livereload browser closure compiler css module with postcss babel ES6 starand eslint filesize analysis License MIT 原文

VS Code插件开发指南(view-readme)

2017-04-06
阅读 6 分钟
20.1k
在本地安装好所有npm包后,有的时候想看看某个模块的文档,了解其特性以及如何使用。于是打开node_modules文件夹,大家都知道,这个文件夹里面的文件是非常多的,很难定位到我们想看的模块,并且这么多的目录树展开后,严重影响到编辑的使用。

CSS3实现全景图特效

2016-04-17
阅读 2 分钟
8.4k
background-size: auto 100%; 这段代码的意思是让图片的高等于容器的高,并且水平方向自动,即图片最左边贴着容器左侧。

有趣的浏览器活跃窗口监听

2016-04-11
阅读 1 分钟
3.7k
在浏览器中,有这样两个事件监听 window.onblur & window.onfocus,分别表示的是窗口失去焦点和窗口处于活跃状态,什么意思呢?

Nodejs检测端口是否被占用

2016-04-11
阅读 2 分钟
15.6k
开启本地服务时,有这么一种情况:当前端口已经被另一个项目使用了,导致服务开启失败。那么接下来,我们通过简简单单的十行代码来检测端口是否已经被占用。

Scrapy爬虫 - 获取知乎用户数据

2016-04-11
阅读 10 分钟
7.3k
安装好Scrapy后,执行 scrapy startproject myspider接下来你会看到 myspider 文件夹,目录结构如下: