@effector/reflect

中文文档
10.1.1发布于 2026/08/26MITTypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 1.1万

QQ 附加效果存储器, 无钩子反应组件

中文使用文档
文档目录3 节
  1. 安装
  2. 动机
  3. 释放过程

@ effector/ reflect (帮助)

QQ 附加效应存储器,用于不带钩子的反应组件.

安装

npm install @effector/reflect
# or
pnpm add @effector/reflect

开始 | API 文档

动机

反省何为?

是API设计,使用经典的HOC类似图案,允许您以高效而可调和的方式用Effector来写回组件.

import { reflect, variant } from '@effector/reflect';

export function UserForm() {
  return (
    <FormCard>
      <Name />
      <LastName />
      <SubmitButton />
    </FormCard>
  );
}

const Name = reflect({
  view: Input,
  bind: {
    value: model.$name,
    onChange: model.nameChanged,
  },
});

const LastName = reflect({
  view: Input,
  bind: {
    value: model.$lastName,
    onChange: model.lastNameChanged,
  },
});

const SubmitButton = reflect({
  view: Button,
  bind: {
    type: 'submit', // plain values are allowed too!
    disabled: model.$formValid.map((valid) => !valid),
    onClick: model.formSubmitted,
  },
});

在这里,我们把这个部件分割成小部分, 这些部件是用一种方便的方式创建的 reflect 运算符,这是一个非常简单的描述 props -> values 映射,便于阅读和修改.

与 @effector/reflect我们 $formValid 更新只会使提交按钮被重新发送,对于我们的所有其他部分来说 <UserForm /> 一定会有 零 反应工作.

学习更多,请阅读 充分激励文章。 。 。 .

释放过程

  1. 看看这个 释放草稿。 。 。 .
  2. 所有公关应当有正确的标签和有用的标题. 你们可以 在此审查可用的标签。 。 。 .
  3. 更新 PR 和标题的标签, 下次 手动运行发行起草器动作 重新生成释放草稿.
  4. 审查新版本并按"Publish"
  5. 如果需要检查“ 此发行的创意讨论”

版本与发布记录

@effector/reflect 共发布 29 个版本,首次发布于 2021/01/28;过去 12 个月发布了 3 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
10.1.1latest2026/08/262 个月前
10.1.02026/06/254 个月前
10.0.32026/06/164 个月前
10.0.22025/09/081.2 年前
10.0.12025/06/161.4 年前
10.0.02025/03/221.6 年前

其他发布通道:rc → 8.2.1-rc。

关于 @effector/reflect 的常见问题

@effector/reflect 是什么?

QQ 附加效果存储器, 无钩子反应组件

如何安装 @effector/reflect?

在项目目录运行 npm install @effector/reflect,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:effector(^23.1.0)、effector-react(^23.1.0)、react(>=16.8.0 <20.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@effector/reflect 支持 TypeScript 吗?

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

@effector/reflect 支持 ESM 还是 CommonJS?

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

@effector/reflect 可以商用吗?

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

@effector/reflect 的下载量有多少?

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

@effector/reflect 还在维护吗?

最新版本 10.1.1 发布于 2026/08/26(2 个月前);至今共发布 29 个版本,其中过去 12 个月发布了 3 个;首次发布于 2021/01/28。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。