@datadog/mobile-react-navigation

中文文档
3.11.0发布于 2026/10/20Apache-2.0TypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 115.3万

与 Datadog 交互的客户端反应本地模块

中文使用文档

反应-国内监测 react-navigation 组件

数据犬 真正的用户监测( RUM) 您可以直观分析您的应用程序的个人用户的实时性能和用户行程。 此特定一揽子方案增加了对 react-navigation 图书馆.

设置

说明: 此软件包是用于 react-navigation 库中,请确保您首先安装和设置核心 mobile-react-native SDK(英语:SDK).

要安装国家预防机制,运行:

npm install @datadog/mobile-react-navigation

要安装 Yarn, 请运行 :

yarn add @datadog/mobile-react-navigation

轨道视图导航

要按照 RUM 视图跟踪导航的变化,请设定 onReady 调用您的 NavigationContainer 构成部分如下。 您可以使用可选 NavigationTrackingOptions 参数来替换跟踪器在视图、其名称和导航参数方面的默认行为.

import * as React from 'react';
import { DdRumReactNavigationTracking, ParamsTrackingPredicate, ViewNamePredicate, ViewTrackingPredicate } from '@datadog/mobile-react-navigation';
import { Route } from "@react-navigation/native";

// Sets a custom name for a tracked view
const viewNamePredicate: ViewNamePredicate = function customViewNamePredicate(route: Route<string, any | undefined>, trackedName: string) {
  return "My custom View Name"
}

// Decides if a view should be tracked or not
const viewTrackingPredicate: ViewTrackingPredicate = function customViewTrackingPredicate(route: Route<string, any | undefined>) { 
  if (route.name === "AlertModal") {
    return false;
  }

  return true;
}

// Allows to define what navigation parameters should be tracked for a specific view
const paramsTrackingPredicate: ParamsTrackingPredicate = function customParamsTrackingPredicate(route: Route<string, any | undefined>) { 
  const filteredParams: any = {};
  if (route.params?.creditCardNumber) {
    filteredParams["creditCardNumber"] = "XXXX XXXX XXXX XXXX";
  }

  if (route.params?.username) {
    filteredParams["username"] = route.params.username;
  }

  return filteredParams;
}

const navigationTrackingOptions: NavigationTrackingOptions = {
  viewNamePredicate,
  viewTrackingPredicate,
  paramsTrackingPredicate,
}

function App() {
  const navigationRef = React.useRef(null);
  return (
    <View>
      <NavigationContainer ref={navigationRef} onReady={() => {
        DdRumReactNavigationTracking.startTrackingViews(navigationRef.current, navigationTrackingOptions)
      }}>
        // …
      </NavigationContainer>
    </View>
  );
}

这些上游是可选的,当不设置默认行为时,将被用于其中每一个. 默认行为如下:

  • 视图Name Predicate - 将给定的视图名称直接转发给 RUM .
  • 查看跟踪 Predicate - 跟踪 RUM 上的所有视图.
  • 参数跟踪 Predicate - 不向 RUM 转发任何参数 .

说明: 只有一个 NavigationContainer 可以追踪到当时。 如果您需要跟踪另一个容器, 请先停止跟踪前一容器, 使用 DdRumReactNavigationTracking.stopTrackingViews()。 。 。 .

版本与发布记录

@datadog/mobile-react-navigation 共发布 118 个版本,首次发布于 2021/07/26;过去 12 个月发布了 32 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
3.11.0latest2026/10/2021 天前
3.10.02026/10/091 个月前
3.9.02026/10/011 个月前
3.8.02026/09/221 个月前
3.7.02026/09/032 个月前
3.6.02026/08/172 个月前

其他发布通道:next → 2.0.0-rc.0,v2 → 2.14.9。

关于 @datadog/mobile-react-navigation 的常见问题

@datadog/mobile-react-navigation 是什么?

与 Datadog 交互的客户端反应本地模块

如何安装 @datadog/mobile-react-navigation?

在项目目录运行 npm install @datadog/mobile-react-navigation,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(>=16.13.1)、react-native(>=0.63.4 <1.0)、@datadog/mobile-react-native(^3.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@datadog/mobile-react-navigation 支持 TypeScript 吗?

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

@datadog/mobile-react-navigation 支持 ESM 还是 CommonJS?

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

@datadog/mobile-react-navigation 可以商用吗?

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

@datadog/mobile-react-navigation 的下载量有多少?

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

@datadog/mobile-react-navigation 还在维护吗?

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