@essentials/memoize-one

中文文档
1.1.0发布于 2020/06/05MITTypeScriptESM + CJS零依赖近 30 天下载 38.4万

一种只缓存最新一组参数结果的回忆算法,其中通过提供的平等函数确定参数平等.

中文使用文档
文档目录4 节
  1. 快速启动
  2. API 密码
  3. memoOne(fn: Function, areEqual?: Function): any
  4. 自由主义

@ 必需/ 记忆- 1

Bundlephobia Types NPM Version MIT License

npm i @essentials/memoize-one

一种只缓存最新一组参数结果的回忆算法,其中通过提供的平等函数确定参数平等. 默认 areEqual 功能是对前四个参数的严格平等检查.

快速启动

import memoOne from '@essentials/memoize-one'

const toUpper = memoOne(
  (value) => value.toUpperCase(),
  // are equal?
  (args, prevArgs) => args[0] === prevArgs[0]
)

toUpper('foo')
// FOO (uncached)
toUpper('foo')
// FOO (cached)
toUpper('foobar')
// FOOBAR (uncached)
toUpper('foo')
// FOO (uncached)

API 密码

memoOne(fn: Function, areEqual?: Function): any

参数说明
fn 时您正在记忆的功能 辩论和结果
正等号平等功能. 返回时 true 如果争吵是平等的, false 如果不是的话.

自由主义

麻省理工学院

版本与发布记录

@essentials/memoize-one 共发布 6 个版本,首次发布于 2019/04/07;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.1.0latest2020/06/056 年前
1.0.42020/05/146 年前
1.0.32020/04/116 年前
1.0.22020/01/236 年前
1.0.12019/11/266 年前
1.0.02019/04/077 年前

关于 @essentials/memoize-one 的常见问题

@essentials/memoize-one 是什么?

一种只缓存最新一组参数结果的回忆算法,其中通过提供的平等函数确定参数平等.

如何安装 @essentials/memoize-one?

在项目目录运行 npm install @essentials/memoize-one,或使用 pnpm add / yarn add / bun add。

@essentials/memoize-one 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@essentials/memoize-one 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@essentials/memoize-one 可以商用吗?

@essentials/memoize-one 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@essentials/memoize-one 的下载量有多少?

根据 npm 官方下载统计,@essentials/memoize-one 在 2026/10/14 – 2026/11/12 这 30 天内被下载 383,699 次,日均约 12,790 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@essentials/memoize-one 还在维护吗?

最新版本 1.1.0 发布于 2020/06/05(6 年前);至今共发布 6 个版本,其中过去 12 个月发布了 0 个;首次发布于 2019/04/07。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。