React新文档:不要滥用Ref哦~
React新文档有个很有意思的细节:useRef、useEffect这两个API的介绍,在文档中所在的章节叫Escape Hatches(逃生舱)。显然,正常航行时是不需要逃生舱的,只有在遇到危险时会用到。
九个有用又有趣的 CSS 属性
如今,网络上的每个网站或 Web 应用程序都需要大量的 CSS 代码来使事物看起来既漂亮又出众。 我认为如果不使用 CSS,我们将永远不会有一个可以脱颖而出的优秀网页设计。
React 16 升级到 17 的一个坑:组件销毁时 Ref 可能会被重置为Null
最近公司的项目用的 React 从 16 升到了 17 版本,选择升级的原因是想以后将项目迁移到 Nextjs 上。结果发现因为 React 的行为不一致导致了一些看得见的和看不见的 bug,真的是一场灾难。
视觉还原小技巧!CSS 实现角标效果
小三角可以用伪元素生成,关于三角形的实现方式有很多,如果对兼容性没什么要求,建议采用clip-path实现,比较容易理解,确定三个坐标,直接裁剪就可以了。
React SSR 之为什么要进行限流
当对 React 应用进行页面加载或 SEO 优化时,我们一般绕不开 React SSR。但 React SSR 毕竟涉及到了服务端,有很多服务端特有的问题需要考虑,而限流就是其中之一。
Ramda 哪些让人困惑的函数签名规则
Ramda 经常被当做 Lodash 的另外一个更加FP的替代库,相对于 Lodash,Ramda 的优势(之一)在于完备的柯里化与 data last 的设计带来的便捷的管道式编程(pipe)。
熟悉事件循环?那谈谈为什么会分为宏任务和微任务
在了解事件循环前,需要一些有关 JS 特性的前置知识。JS 引擎是单线程的,直白来说就是一个时间点下 JS 引擎只能去做一件事情,而 Java 这种多线程语言,可以同时做几件事情。
这篇手写 Promise 你一定要康康
最近重温了一下 Q/Promise的设计讲解,结合自己的理解和一些小优化,决定也来写一篇手写 Promise 的文章。我们先以观察者模式作为基石来搭建一个基础版本,实现的功能如下:
为什么Hook没有ErrorBoundary?
在很多全面使用Hooks开发的团队,唯一使用ClassComponent的场景就是使用ClassComponent创建ErrorBoundary。可以说,如果Hooks存在如下两个生命周期函数的替代品,就能全面抛弃ClassComponent了: