@aptabase/react

中文文档
0.4.0发布于 2025/02/24MITTypeScriptESM + CJS零依赖近 30 天下载 1.2万

Aptabase 的 SDK 反应: 开源、 隐私第一和简单分析 移动、 桌面和网络应用程序

中文使用文档
文档目录3 节
  1. 设置
  2. 高级设置
  3. 利用Aptabase跟踪事件

Aptabase

反应应用软件的 Aptabase SDK

一个小的 SDK ( 1 kB) 用 Aptabase, 一个开放源码, 隐私第一 和 简单的 分析 来设定您的 React Apps .

设置

  1. 使用 npm 或您喜欢的 JavaScript 软件包管理器安装 SDK
npm add @aptabase/react
  1. 让你的 App Key 从Aptabase可以找到它 Instructions 菜单.

  2. 初始化 AptabaseProvider 以您的框架为基础的应用程序组件.

Next.js (App路由器) 的设置

添加 AptabaseProvider 到您的 RootLayout 组件 :

import { AptabaseProvider } from '@aptabase/react';

export default function RootLayout({ children }: { children: React.ReactNode }) {
  return (
    <html lang="en">
      <body>
        <AptabaseProvider appKey="<YOUR_APP_KEY>">{children}</AptabaseProvider>
      </body>
    </html>
  );
}
Next.js (页路由器) 的设置

添加 AptabaseProvider 给您的 _app 组件 :

import { AptabaseProvider } from '@aptabase/react';
import type { AppProps } from 'next/app';

export default function App({ Component, pageProps }: AppProps) {
  return (
    <AptabaseProvider appKey="<YOUR_APP_KEY>">
      <Component {...pageProps} />
    </AptabaseProvider>
  );
}
Remix 的设置

添加 AptabaseProvider 给您的 entry.client.tsx 文件 :

import { AptabaseProvider } from '@aptabase/react';
import { RemixBrowser } from '@remix-run/react';
import { startTransition, StrictMode } from 'react';
import { hydrateRoot } from 'react-dom/client';

startTransition(() => {
  hydrateRoot(
    document,
    <StrictMode>
      <AptabaseProvider appKey="<YOUR_APP_KEY>">
        <RemixBrowser />
      </AptabaseProvider>
    </StrictMode>,
  );
});
创建反动 App 或 Vite 的设置

添加 AptabaseProvider 转到您的根组件 :

import { AptabaseProvider } from '@aptabase/react';

ReactDOM.createRoot(root).render(
  <React.StrictMode>
    <AptabaseProvider appKey="<YOUR_APP_KEY>">
      <YourApp />
    </AptabaseProvider>
  </React.StrictMode>,
);

高级设置

这个 AptabaseProvider 也支持可选的第二个参数,它是带有 appVersion 属性.

如何获得你的应用软件版本,由您决定,但一般建议使用你的捆绑器(如Webpack,Vite,Rollup等)在构建时注入数值. 或者您也可以手动传递.

由您决定获得什么版本的应用软件,但一般建议使用你的捆绑器(如Webpack,Vite,Rollup等)在构建时注入数值.

利用Aptabase跟踪事件

在设置之后 AptabaseProvider,然后可以使用 useAptabase 钩.

以下是一个简单的计数器元件的例子,该元件可以跟踪 increment 财务报告和审定财务报表 decrement 事件:

'use client';

import { useState } from 'react';
import { useAptabase } from '@aptabase/react';

export function Counter() {
  const { trackEvent } = useAptabase();
  const [count, setCount] = useState(0);

  function increment() {
    setCount((c) => c + 1);
    trackEvent('increment', { count });
  }

  function decrement() {
    setCount((c) => c - 1);
    trackEvent('decrement', { count });
  }

  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={increment}>Increment</button>
      <button onClick={decrement}>Decrement</button>
    </div>
  );
}

几个重要说明:

  1. SDK会用一些有用的信息自动增强事件,比如OS和其他属性.
  2. 你控制着被送到阿普塔基地的东西 此 SDK 不自动跟踪任何事件, 您需要呼叫 trackEvent 手动.
    • 因此,一般建议在启动时至少跟踪一个事件
  3. 你不需要等待着 trackEvent 函数,会在后台运行.
  4. 只允许自定义属性上的字符串和数字值

版本与发布记录

@aptabase/react 共发布 13 个版本,首次发布于 2023/09/05;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.4.0latest2025/02/241.7 年前
0.3.52024/09/222 年前
0.3.42024/07/202 年前
0.3.32023/12/292 年前
0.3.22023/12/292 年前
0.3.12023/12/292 年前

关于 @aptabase/react 的常见问题

@aptabase/react 是什么?

Aptabase 的 SDK 反应: 开源、 隐私第一和简单分析 移动、 桌面和网络应用程序

如何安装 @aptabase/react?

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

@aptabase/react 支持 TypeScript 吗?

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

@aptabase/react 支持 ESM 还是 CommonJS?

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

@aptabase/react 可以商用吗?

@aptabase/react 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@aptabase/react 的下载量有多少?

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

@aptabase/react 还在维护吗?

最新版本 0.4.0 发布于 2025/02/24(1.7 年前);至今共发布 13 个版本,其中过去 12 个月发布了 0 个;首次发布于 2023/09/05。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。