晒网

Knowledge is Power

Ramda.js 版本 debounce 和 throttle 函数

debounce 函数和 throttle 函数都是前端工具库中的常用函数,用于性能优化。大家常用的版本来自于 lodash,我现在项目选用的工具库是 Ramda.js,它是一个函数式编程库,并没有现成的方法。此文提供了 Ramda.js 版本的 debouncethrottle React Hooks 函数,并提供了单元测试。

Read More

Using Glob Patterns to Match Common Naming Conventions

Glob patterns are commonly used to match filenames, and they are simpler and easier to understand than regular expressions. It also can match arbitrary strings. We will use glob patterns to match 6 common naming conventions in this article, including CAMEL_CASE, PASCAL_CASE, SNAKE_CASE, KEBAB_CASE, SCREAMING_SNAKE_CASE and FLAT_CASE.

Read More

使用 eslint-plugin-check-file 规范 jest 下测试文件所在的文件夹命名

快下班时,同事告诉我,“你流水线挂了”,想想流水线红过夜需要发红包,立马打开合上的电脑,一顿探查发现是挂在测试覆盖率,天地良心,“测试文件明明就在那里啊”。稳住,定睛细瞧,才发现我的测试文件放在 __test__ 文件夹,而项目测试覆盖率是统计 __tests__ 文件夹里的文件,没想到是这么低级的失误,真是一脸黑线。

Read More

React useEffect 函数体和返回体的执行次数

useEffect 是 React 提供的一个 Hook,Hook 是 React 16.8 的新增特性,是一种复用 state 逻辑的方式,它让在函数组件使用 state 成为可能。useEffect 是一个常用的 Hook,用于在 React 更新 DOM 之后执行副作用,依赖的变化、生命周期的变化都会影响它的执行,本文通过实验验证它的具体行为。

Read More