Skip to content

React

React bindings for @whisperr/web.

Terminal window
npm i @whisperr/react @whisperr/web
import { WhisperrProvider, useWhisperr } from "@whisperr/react";
function App() {
return (
<WhisperrProvider apiKey="wrk_…">
<Checkout />
</WhisperrProvider>
);
}
function Checkout() {
const whisperr = useWhisperr();
return (
<button onClick={() => whisperr.track("checkout_started", { cart_value: 49 })}>
Buy
</button>
);
}

Initialization is idempotent (safe under StrictMode) and SSR-safe.

The client returned by useWhisperr() is the full @whisperr/web client — identify(), track(), reset(), optIn()/optOut() all work as documented on the Web SDK page, including anonymous → identified attribution and the durable exit-event queue.

Using the Next.js App Router? Use @whisperr/next instead — it adds the client boundary and History-API pageview capture for you.