29 lines
990 B
Plaintext
29 lines
990 B
Plaintext
|
|
---
|
||
|
|
title: 概览
|
||
|
|
description: 了解 Preferences 包的职责和边界。
|
||
|
|
order: 1
|
||
|
|
toc:
|
||
|
|
- id: package-role
|
||
|
|
title: 包的职责
|
||
|
|
- id: capabilities
|
||
|
|
title: 主要能力
|
||
|
|
- id: design-boundary
|
||
|
|
title: 设计边界
|
||
|
|
---
|
||
|
|
|
||
|
|
## 包的职责 {#package-role}
|
||
|
|
|
||
|
|
`@workspace/preferences` 是一个用于管理应用偏好的轻量 React Store,例如主题模式、导航密度和紧凑布局。偏好字段仍由使用它的应用定义。
|
||
|
|
|
||
|
|
## 主要能力 {#capabilities}
|
||
|
|
|
||
|
|
- 通过 TypeScript 模块扩充扩展偏好类型。
|
||
|
|
- 使用 `useSyncExternalStore` 水合确定的服务端快照。
|
||
|
|
- 通过应用回调持久化类型安全的 `{ key, value }` 更新。
|
||
|
|
- 通过可组合副作用与浏览器 API 同步偏好。
|
||
|
|
- 校验来自 Cookie、请求、表单或消息通道的外部更新。
|
||
|
|
|
||
|
|
## 设计边界 {#design-boundary}
|
||
|
|
|
||
|
|
该包不定义产品特有字段,也不指定持久化服务。应用负责提供完整的初始快照,并决定如何保存已接受的变更。
|