# @cdd-team/zustand 中文文档

规范地址：https://npmcn.com/package/%40cdd-team/zustand/

版本：1\.0\.7
npm 元数据更新时间：2026-11-02T21:22:39.253Z
中文译文更新时间：2026-11-09T20:25:28.563Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40cdd-team/zustand
原文对照：https://npmcn.com/package/%40cdd-team/zustand/?lang=original
项目主页：https://github.com/Cringe-Driven-Development-Team/frontend-packages#readme
源码仓库：https://github.com/Cringe-Driven-Development-Team/frontend-packages

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：9.7 kB，8 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：@cdd-team/react ^1\.7\.1
- 首次发布：2026-10-17T21:11:09.020Z
- 最新版本发布：2026-11-02T21:22:38.877Z
- 近 30 天下载量：1749（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：9（近 12 个月 9 个）

## 中文简介

{\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢

## 安装

```sh
npm install @cdd-team/zustand
```

也可以使用：`pnpm add @cdd-team/zustand`、`yarn add @cdd-team/zustand`、`bun add @cdd-team/zustand`

## README

# @cdd-team/zustand (英语)

[![npm](https://img.shields.io/npm/v/@cdd-team/zustand)](https://www.npmjs.com/package/@cdd-team/zustand)

Учебный [苏斯坦德](https://github.com/pmndrs/zustand) для [`@cdd-team/react`](https://www.npmjs.com/package/@cdd-team/react)。 。 。 .

npm: https://www.npmjs.com/package/@cdd-team/zustand 互联网档案馆的存檔,存档日期2013-12-02

## Установка

```sh
bun add @cdd-team/zustand @cdd-team/react
```

## 反应

```tsx
import { create, useShallow } from "@cdd-team/zustand";

type CounterState = {
    count: number;
    step: number;
    inc: () => void;
};

const useCounter = create<CounterState>()((set) => ({
    count: 0,
    step: 1,
    inc: () => set((state) => ({ count: state.count + state.step })),
}));

function Counter() {
    // Перерисовка только при изменении count
    const count = useCounter((state) => state.count);
    const inc = useCounter((state) => state.inc);
    return <button onClick={inc}>{count}</button>;
}

function Summary() {
    // Селектор возвращает новый объект: сравниваем поверхностно
    const { count, step } = useCounter(useShallow((state) => ({ count: state.count, step: state.step })));
    return <p>{count} / {step}</p>;
}
```

Хук `useCounter` 说吧 `useCounter.getState()`, (中文(简体) ), `useCounter.setState(...)`, (中文(简体) ), `useCounter.subscribe(...)`Для,созданного也 `createStore`时 `useStore(store, selector?)`。 。 。 .

## QQ 反应

Точка `/vanilla` 反应.

```ts
import { createStore } from "@cdd-team/zustand/vanilla";

const store = createStore<{ count: number }>()(() => ({ count: 0 }));

const unsubscribe = store.subscribe((state, prevState) => {
    console.log(prevState.count, "→", state.count);
});

store.setState({ count: 1 }); // поверхностное слияние
store.setState((state) => ({ count: state.count + 1 }));
store.setState(store.getInitialState(), true); // полная замена
unsubscribe();
```

## API 密码

| Экспорт | Что |
| --- | --- |
| `createStore(initializer)` | Стор `getState`, (中文(简体) ), `getInitialState`, (中文(简体) ), `setState(partial, replace?)`, (中文(简体) ), `subscribe` |
| `create(initializer)` | То,плюс也 `useBoundStore(selector?)` |
| `useStore(store, selector?)` | {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 |
| `useShallow(selector)` | {\\fn黑体\\fs20\\shad2\\2aH82\\3aH20\\4aH33\\fscx95\\3cH592001\\be1}你还好吧 |
| `shallow(a, b)` | Поверхностное |

## 苏斯坦

-   {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 `useState` + 键 `useLayoutEffect`时 `useSyncExternalStore`。 。 .
-   \* \* \* 中间件(`persist`, (中文(简体) ), `devtools`, (中文(简体) ), `immer`? ? \\ \\ \\ \\ 背景 .

## Разработка

```sh
bun install
bun run test       # vanilla без DOM + хуки на happy-dom
bun run typecheck
bun run lint
bun run build
```

## 常见问题

### @cdd-team/zustand 是什么？

\{\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080\}你觉得呢

### 如何安装 @cdd-team/zustand？

在项目目录运行 npm install @cdd-team/zustand，或使用 pnpm add / yarn add / bun add。

### @cdd-team/zustand 支持 TypeScript 吗？

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

### @cdd-team/zustand 支持 ESM 还是 CommonJS？

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

### @cdd-team/zustand 可以商用吗？

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

### @cdd-team/zustand 的下载量有多少？

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

### @cdd-team/zustand 还在维护吗？

最新版本 1\.0\.7 发布于 2026/11/03（6 天前）；至今共发布 9 个版本，其中过去 12 个月发布了 9 个；首次发布于 2026/10/18。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

