React

circle-info

The Hackle React SDK supports React version 16.8 and above.

The React SDK is built on top of the JavaScript SDK.

Add Dependency

arrow-up-right

npm install --save @hackler/react-sdk

SDK Initialization

You must initialize HackleReactSDKClient before using the SDK.

During the application initialization phase, the SDK communicates with the Hackle server to sync data. This typically takes only a few milliseconds. Rendering begins immediately after synchronization is complete.

circle-exclamation
import { createInstance, HackleProvider } from "@hackler/react-sdk";

// YOUR_BROWSER_SDK_KEY 자리에 SDK 키를 넣습니다.
const hackleClient = createInstance("YOUR_BROWSER_SDK_KEY")

ReactDOM.render(
  <HackleProvider hackleClient={hackleClient}>
    <YourApp />
  </HackleProvider>,
  document.getElementById('root')
);

// GTM 연동 시 추가 script
window.hackleClient = hackleClient

SDK Initialization Config

You can initialize the SDK with configuration options.

All Configuration Options

Option
Description
Default
Supported Version

debug

Prints logs for all features to the console.

false

1.0.0+

pollingIntervalMillis

Periodically updates the configuration set in the Dashboard. Minimum: 60000 (60 seconds)

-1

11.1.0+

exposureEventDedupIntervalMillis

Removes duplicate exposure events for the same A/B Test or Feature Flag distribution result triggered by the same user consecutively. Minimum: 1000 (1 second) Maximum: 3600000 (1 hour)

60000 (1 min / 11.23.0+)

-1 (no dedup / below 11.23.0)

11.1.0+

sessionTimeoutMillis (deprecated)

Sets the session expiration time. Please use sessionPolicy instead.

1800000 (30 min)

11.8.0+

devTool

Enables User Explorer.

undefined

11.13.0+

autoOpenDevTool

Option to automatically show the User Explorer button.

false

11.13.0+

user

Injects a user at initialization time.

undefined

11.22.3+

sessionPolicy

Configures session persistence and expiration conditions.

ALWAYS_NEW_SESSION ,

1800000

11.54.0+

optOutTracking

Whether opt-out is enabled.

false

11.54.0+

Session Policy Configuration

You can configure session persistence and expiration conditions using the session policy.

Injecting User at Initialization

When user is set in config, you can initialize the SDK with user information included.

  • If no user information is provided, the user information stored in cookies is used.

  • If user information is provided, the user information stored in cookies is not used.

  • If there is no user information in cookies, a user with the Hackle Device ID as the device id is used.

circle-info

You can freely update user information after SDK initialization using the user information setter functions.

circle-exclamation

Refreshing Dashboard Configuration

You can explicitly refresh the Dashboard configuration.

circle-exclamation

Last updated