用途:在 Drupal Canvas 的 React 组件中获取并渲染 Drupal 内容,使用 JSON:API 与 SWR 模式,适合构建内容列表、集成 SWR、查询关联实体等。
主要能力:提供 useJsonApiClient()、usePageContext()、useSiteContext() 等运行时钩子;用 DrupalJsonApiParams 构建查询;用 SWR 做异步获取、缓存与重验证;用 addInclude 获取关联实体,用 addFields 限制返回字段。
使用方式:先检查 package.json 是否含 @drupal-canvas/headless 依赖以判断项目类型。React 组件中在顶层无条件调用钩子,钩子可能返回 null。用 useJsonApiClient() 读取客户端,客户端不可用时给 SWR 传 null 键。查询前先用 createJsonApiClient() 写探针脚本验证反序列化后的数据结构,再据此编写渲染逻辑。
限制:getPageData()、getSiteData()、new JsonApiClient() 已弃用,新代码勿用。不要基于原始 JSON:API 结构写逻辑,组件收到的是反序列化对象。不要禁用序列化器。避免自引用字段以防循环引用。不要伪造 JSON:API 载荷。Draft 读取与访问控制需按会话感知集成验证。
资料未提供具体收费、价格与平台信息。