@faststats/react

中文文档
0.15.1发布于 2026/11/09TypeScriptES Module近 30 天下载 2232

[!IMPORTANT] > This repository is in early development and not intended for production use.

原始使用文档

FastStats Web Analytics React

[!IMPORTANT] This repository is in early development and not intended for production use.

The React provider owns one explicit browser SDK instance. Components access that instance through hooks rather than process-wide functions.

"use client";

import { Analytics, useTrack } from "@faststats/react";

export function App() {
    return <Analytics siteKey="site_123" />;
}

export function UpgradeButton() {
    const track = useTrack();
    return <button onClick={() => track("upgrade_clicked")}>Upgrade</button>;
}

useIdentify() links the visitor to a user, and useSetTraits() adds traits to the current visitor without a full identify:

const setTraits = useSetTraits();
await setTraits({ plan: "pro" });
await setTraits({ signupSource: "reddit" }, { mode: "setOnce" });

Extensions are available from tree-shakeable React subpath exports:

"use client";

import { Analytics } from "@faststats/react";
import { errorTracking } from "@faststats/react/error";
import { sessionReplay } from "@faststats/react/replay";
import { webVitals } from "@faststats/react/web-vitals";

export function FastStats() {
    return (
        <Analytics
            siteKey="site_123"
            extensions={[errorTracking(), webVitals(), sessionReplay()]}
        />
    );
}

Feature flags

"use client";

import { Analytics } from "@faststats/react";
import { featureFlags, useFlag } from "@faststats/react/flags";

const flags = featureFlags();

export function FastStats() {
    return <Analytics siteKey="site_123" extensions={[flags]} />;
}

export function Checkout() {
    const newCheckout = useFlag("new-checkout", false);
    return newCheckout ? <NewCheckout /> : <OldCheckout />;
}

useFlag returns the default during server rendering and until flags have loaded, then re-renders with the flag's value. The first render that reads a served value records the exposure. Run faststats flags typegen <project> to type keys and values; see typed flags. useIdentify and useLogout re-evaluate flags for the new user. useFeatureFlags() returns the running instance for status, details(), setContext() and reload(); see @faststats/web for the options.

版本与发布记录

@faststats/react 共发布 54 个版本,首次发布于 2026/03/15;过去 12 个月发布了 54 个版本。

版本发布日期距今
0.15.1latest2026/11/095 天前
0.15.02026/11/0212 天前
0.14.02026/10/2817 天前
0.13.32026/10/2520 天前
0.13.22026/10/2223 天前
0.13.12026/10/2025 天前

关于 @faststats/react 的常见问题

@faststats/react 是什么?

[!IMPORTANT] > This repository is in early development and not intended for production use.

如何安装 @faststats/react?

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

@faststats/react 支持 TypeScript 吗?

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

@faststats/react 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@faststats/react 可以商用吗?

@faststats/react 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

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

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

@faststats/react 还在维护吗?

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