一个轻量级软件包,用于使用 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 配置的对象。