一个轻量级软件包,用于使用 WordPress preferences 管理 DataViews 视图状态并支持持久化。
@wordpress/views 软件包提供:
- 持久化:使用
@wordpress/preferences自动保存并恢复 DataViews 状态 - 视图修改检测:跟踪视图何时不同于其默认状态
- 重置功能:简单重置为默认视图的能力
- 简洁集成:可直接替代手动视图状态管理
安装
安装模块
npm install @wordpress/views --save
API 参考
loadView
用于在路由加载器中加载视图状态的异步函数。
解析与 useView 相同的层,因此路由加载器以及接管它的 Hook 能够在视图上保持一致。
参数
- config
ViewConfig:用于加载视图的配置对象。 - config.kind
ViewConfig:实体类型(例如 ‘postType’、‘taxonomy’、‘root’)。 - config.name
ViewConfig:特定实体名称。 - config.slug
ViewConfig:视图标识符。 - config.defaultView
ViewConfig:默认视图配置。 - config.defaultLayouts
ViewConfig:按布局类型作为键的默认布局配置。 - config.activeViewOverrides
ViewConfig:在顶层应用但不会持久化的视图覆盖。 - config.queryParams
ViewConfig:包含来自 URL 的page和/或search的对象。
返回值
- 解析为已加载视图对象的 Promise。
useView
用于管理具有本地持久化的 DataViews 视图状态的 Hook。
仅持久化用户实际修改的属性:其他每个属性都会继续从下层解析,因此对默认视图、布局默认值或活动视图覆盖的更改仍会持续显现。
参数
- config
ViewConfig:用于加载视图的配置对象。
返回值
UseViewReturn:包含当前视图、修改状态和更新函数的对象。
useViewConfig
一个从核心数据存储中检索给定实体视图配置的 Hook。
参数
- params
Object: - params.kind
string:实体的类型。 - params.name
string:实体的名称。 - params.fields
[?(string|string[])]:要请求的顶层配置属性的子集,可以是数组或逗号分隔字符串(映射到 REST API 的_fields参数)。省略时,将请求完整配置。
返回值
Object:包含实体的default_view、default_layouts、view_list和form配置的对象。