@exodus/multi-account-redux

中文文档
3.0.2发布于 2026/11/13MITTypeScriptES Module近 30 天下载 2.2万

UTI 用于存储每瓦莱特账户每个资产数据的再切片

中文使用文档
文档目录3 节
  1. 安装
  2. 使用量
  3. 类型脚本投影推论

@exodus/multi-account-redux

下列形状的状态管理选择器和公用设备:

{
  [yourStateSliceName]: {
    [walletAccount]: {
      error: null,
      loaded: true,
      data: {
        [assetName]: {}, // TxSet/UtxoCollection/etc.
      },
    },
  }
}

安装

pnpm add @exodus/multi-account-redux

使用量

import { TxSet } from '@exodus/models'
import { createReduxModuleHelper } from '@exodus/multi-account-redux'

const helper = createReduxModuleHelper({
  slice: 'someAssetSourceRelatedData',
  createInitialPerAssetData: () => TxSet.EMPTY,
})

const myReduxModule = {
  id: 'someAssetSourceRelatedData',
  initialState: helper.createInitialState(),
  eventReducers: {
    someAssetSourceRelatedData: (state, data) => {
      // check source code for other utils for merging/resetting state
      return helper.setAccounts(state, data)
    },
  },
  selectorDefinitions: [...helper.selectorDefinitions, ...customSelectorDefinitions],
}

类型脚本投影推论

让帮助者从初始化器中推断出每个资产的数据. 投影参数,选择器名称, 然后在不标注每个选择者的情况下推断返回类型:

const helper = createReduxModuleHelper({
  slice: 'balances',
  createInitialPerAssetData: () => ({ balance: 0 }),
  assetSourceDataSelectors: [
    { name: 'balance', selector: (data) => data?.balance ?? 0 },
    { name: 'label', selector: (data) => String(data?.balance ?? 0) },
  ],
})

收到预测 null 或者说 undefined 资产未知时,或无资产时 createInitialPerAssetData 资产没有存储数据。 每个案子都处理好 选择器.

在提供明确数据或资产类型时,使用两个调用,因此预测类型仍然可以 推断:

type Balance = { balance: number }
type Asset = { name: string; initialBalance: number }

const helper = createReduxModuleHelper<Balance, Asset>()({
  slice: 'balances',
  createInitialPerAssetData: ({ asset }) => ({ balance: asset.initialBalance }),
  assetSourceDataSelectors: [{ name: 'balance', selector: (data) => data?.balance ?? 0 }],
})

原画 createReduxModuleHelper<Balance>({...}) 表格仍然支持。 有了预测, 它保存数据类型,但将投影名称扩大到字符串和结果 unknown。 。 。 . 使用双调形式精确投影类型.

版本与发布记录

@exodus/multi-account-redux 共发布 20 个版本,首次发布于 2023/05/03;过去 12 个月发布了 3 个版本。

版本发布日期距今
3.0.2latest2026/11/131 天前
3.0.12026/10/141 个月前
3.0.02026/05/146 个月前
2.1.12024/12/061.9 年前
2.1.02024/08/312 年前
2.0.12023/11/292 年前

关于 @exodus/multi-account-redux 的常见问题

@exodus/multi-account-redux 是什么?

UTI 用于存储每瓦莱特账户每个资产数据的再切片

如何安装 @exodus/multi-account-redux?

在项目目录运行 npm install @exodus/multi-account-redux,或使用 pnpm add / yarn add / bun add。

@exodus/multi-account-redux 支持 TypeScript 吗?

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

@exodus/multi-account-redux 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@exodus/multi-account-redux 可以商用吗?

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

@exodus/multi-account-redux 的下载量有多少?

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

@exodus/multi-account-redux 还在维护吗?

最新版本 3.0.2 发布于 2026/11/13(1 天前);至今共发布 20 个版本,其中过去 12 个月发布了 3 个;首次发布于 2023/05/03。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。