将 React Router 页面浏览量发送到 Firebase Analytics

Sending React Router Page Views to Firebase Analytics

我的应用程序使用 React Router 的 BrowserRouter。我如何跟踪页面浏览量并将它们发送到 google firebase analytics(我已经安装 firebase-analytics.js)。

只需在 <BrowserRouter> 中的任意位置呈现以下组件:


import { useLocation } from "react-router-dom";
import { useEffect } from "react";

function FirebaseAnalytics() {
    let location = useLocation();
    useEffect(() => {
        const analytics = window.firebase && window.firebase.analytics;
        if (typeof analytics === "function") {
            const page_path = location.pathname + location.search;
            analytics().setCurrentScreen(page_path);
            analytics().logEvent("page_view", { page_path });
        }
    }, [location]);
    return null;
}

作为对 Tzach 答案的替代/额外考虑,您可能更愿意导入 firebase 并设置

const analytics = firebase.analytics;