@dynatrace-sdk/react-hooks

中文文档
1.15.3发布于 2026/10/15Apache-2.0TypeScriptESM + CJS近 30 天下载 1.6万

这个 @dynatrace-sdk/react-hooks 库提供了一个与Dynatrace平台服务客户端在React应用程序中互动的无缝方式. 这个软件包会利用钩子来大大简化React内部对Dynatrace服务的使用. 详细信息

中文使用文档
文档目录6 节
  1. 来自圣杯的简化数据查询
  2. 获取圣杯字段
  3. 与文档和应用程序状态交互
  4. 与设置交互
  5. 戴维斯分析器的简化使用
  6. App 函数

@dynathrace-sdk/反应-呼克

这个 @dynatrace-sdk/react-hooks 库提供了一个与Dynatrace平台服务客户端在React应用程序中互动的无缝方式. 这个软件包会利用钩子来大大简化React内部对Dynatrace服务的使用. 详情请访问 Developer Portal。 。 。 .

npm install @dynatrace-sdk/react-hooks

来自圣杯的简化数据查询

传统上,在Dynatrace查询数据涉及使用客户端-query包并管理复杂的反应状态. 这个 useDql 在此包中勾勾可以简化此进程 。 以下示例展示了如何用 DQL 查询获取数据 :

const { data, error, isLoading } = useDql('fetch logs');

这个钩子完全兼容 queryExecute 函数 @dynatrace-sdk/client-query 软件包.

例如,为了限制返回的结果的数目:

const { data, error, isLoading, refetch } = useDql({
  query: 'fetch logs',
  maxResultRecords: 2000,
});

您可以延迟查询的执行, 直至用户通过将额外查询选项传递给钩头点击按钮:

const { data, error, isLoading, refetch } = useDql('fetch logs', { enabled: false });

function onClickQuery() {
  refetch();
}

您应该根据查询类型在您的应用程序配置中添加适当的范围 。 详情请参见: 圣杯文档中的 Bucket 和表格权限。 。 。 .

获取圣杯字段

这个 useGrailFields 钩子从自动完成和DSS查询来源中获取“圣杯”字段,并将其分别曝光为 autocompleteData 财务报告和审定财务报表 dssData编辑 dataObject 接受 "logs", (中文(简体) ), "spans", (中文(简体) ), "smartscape.nodes",或 "metrics"。 。 。 .

const { data, isLoading, isError, errors } = useGrailFields({
  autocompleteQueryOptions: { query: 'fetch logs' },
  dssQueryOptions: { dataObject: 'logs' },
});

使用 select 在返回前将原始数据转换为 data数字 :

const { data } = useGrailFields({
  autocompleteQueryOptions: { query: 'fetch logs' },
  dssQueryOptions: { dataObject: 'logs' },
  select: ({ autocompleteData }) =>
    autocompleteData?.suggestions?.map((s) => s.suggestion ?? '') ?? [],
});

与文档和应用程序状态交互

除了DQL查询之外,我们的钩子还有利于与文档和app状态的互动. 它们允许对立即或推迟的查询执行进行控制.

const { data, error, isLoading } = useDocument({ id: documentId }, { autoFetch: true });

为了创建、更新或删除文档或应用程序状态,需要明确执行调用:

const { data, execute, error } = useCreateDocument();

function onClickCreateDocument() {
  execute(DOCUMENT_DATA);
}

根据您的交互类型, 将这些范围添加到您的应用程序配置中 :

函数范围
文件已读取文档: 已读
文件编写/更新文档:文档:写入
删除文档文档: 删除
状态改为状态: app- states: read
国家书写状态: app- states: write
国家删除状态: app- states: 删除
用户状态已读取状态: 用户- 应用状态: 已读
用户状态写入状态: 用户- 应用程序状态: write
用户状态删除状态: 用户- 应用状态: 删除

与设置交互

设置可以通过以下方式使用:

const { data, error, isLoading } = useSettingsV2(
  { schemaIds: SETTING_SCHEMA },
  { autoFetch: true },
);

为了创建、更新或删除设置,需要明确执行呼叫:

const { data, execute, error } = useCreateSettingsV2();

function onClickCreateSettings() {
  execute(SETTING_DATA);
}

根据您的交互类型, 将这些范围添加到您的应用程序配置中 :

函数范围
设置已读取应用程序设置: 对象:已读
设置写入/更新app- 设置: 对象: 写入
删除设置app- 设置: 对象: 删除

戴维斯分析器的简化使用

利用戴维斯分析器传统上涉及复杂的州管理和投票逻辑,同时 @dynatrace-sdk/client-davis-analyzers 软件包。 这个 useAnalyzer 在这个一揽子中钩住使这一过程更加直截了当:

const { data, error, isLoading } = useAnalyzer({
  analyzerName: 'dt.statistics.GenericForecastAnalyzer',
  body: {
    timeSeriesData: {
      expression: query,
    },
  },
});

此勾钩支持执行分析器方法中从 @dynatrace-sdk/client-davis-analyzers 软件包.

将分析器的执行推迟到用户动作时, 如点击按钮, 用附加选项配置钩子 :

const { data, error, isLoading, refetch } = useAnalyzer({
  analyzerName: 'dt.statistics.GenericForecastAnalyzer',
  body: {
    timeSeriesData: {
      expression: query,
    },
  },
  {
    autoFetch: false,
    autoFetchOnUpdate: true,
  }
});

function onExecuteAnalyzer() {
  refetch();
}

在您的应用程序配置中, 包括必要的范围 :

函数范围
使用分析器davis: 分析器: 执行

App 函数

使用AppFunction hook是最简单的调用app功能的方法. 作为这个包中的其他钩子,它为加载和出错提供了状态处理:

const { data, error, isLoading } = useAppFunction({ name: 'functionName', data: 'data' });

有时您想要延迟应用功能的执行,直到用户点击按钮. 这可以通过向钩子传递附加选项来实现:

const { data, error, isLoading, refetch } = useAppFunction(
  { name: 'functionName', data: 'data' },
  { autoFetch: false, autoFetchOnUpdate: false },
);

function onClick() {
  refetch();
}

版本与发布记录

@dynatrace-sdk/react-hooks 共发布 37 个版本,首次发布于 2023/08/11;过去 12 个月发布了 14 个版本。

版本发布日期距今
1.15.3latest2026/10/1529 天前
1.15.2tmp-1.15.22026/10/1430 天前
1.15.1tmp-1.15.12026/10/051 个月前
1.15.02026/10/011 个月前
1.14.22026/08/033 个月前
1.14.12026/06/264 个月前

关于 @dynatrace-sdk/react-hooks 的常见问题

@dynatrace-sdk/react-hooks 是什么?

这个 @dynatrace-sdk/react-hooks 库提供了一个与Dynatrace平台服务客户端在React应用程序中互动的无缝方式. 这个软件包会利用钩子来大大简化React内部对Dynatrace服务的使用. 详细信息

如何安装 @dynatrace-sdk/react-hooks?

在项目目录运行 npm install @dynatrace-sdk/react-hooks,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(^17.0.0 || ^18.0.0 || ^19.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@dynatrace-sdk/react-hooks 支持 TypeScript 吗?

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

@dynatrace-sdk/react-hooks 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@dynatrace-sdk/react-hooks 可以商用吗?

@dynatrace-sdk/react-hooks 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@dynatrace-sdk/react-hooks 的下载量有多少?

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

@dynatrace-sdk/react-hooks 还在维护吗?

最新版本 1.15.3 发布于 2026/10/15(29 天前);至今共发布 37 个版本,其中过去 12 个月发布了 14 个;首次发布于 2023/08/11。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。