An open API service indexing awesome lists of open source software.

https://github.com/hermanya/react-lean-analytics

📊A/B testing for React apps made super easy
https://github.com/hermanya/react-lean-analytics

Last synced: 11 months ago
JSON representation

📊A/B testing for React apps made super easy

Awesome Lists containing this project

README

          

# react-lean-analytics

> React package for lean analytics

[![NPM](https://img.shields.io/npm/v/react-lean-analytics.svg)](https://www.npmjs.com/package/react-lean-analytics) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save react-lean-analytics
```

To see analytics in the dashboard, ensure you have set your `NODE_ENV` environment variable to `production`.

> **The invocations and validations only count in production mode.**

## Usage

```tsx
import * as React from 'react'

import {Experiment, Variant} from 'react-lean-analytics'

class Example extends React.Component {
render () {
return (


{callback => (

)}


{callback => (

)}

)
}
}
```

### Using weights

Weights are proportional. The default weight for each variant is 1. If you want to make a variant to be chosen more often, give it a "heavier" weight.

```tsx
import * as React from 'react'

import {Experiment, Variant} from 'react-lean-analytics'

class Example extends React.Component {
render () {
return (


{callback => (

)}


{callback => (

)}


{callback => (

)}

)
}
}
```

## Props

### Experiment

| Name | Type | Default | Description |
| ---------------------- | -------- | --------------------------------------- | ---------------------------------------------------------------------------- |
| id | string | - | Experiment id. |
| forceVariant | number | - | Optional variant index to render. Helper for consistent experience. |
| onSelectedIndex | function | - | Optional callback to get variant index at render. (index: number) => void |
| trackedAction | string | - | The tracked action of you experiment. |
| shouldCollectAnalytics | boolean | `process.env.NODE_ENV === 'production'` | Optional. **The invocations and validations only count in production mode.** |

### Variant

| Name | Type | Default | Description |
| ----------- | ------ | ------- | ------------------------------------------------------------------- |
| description | string | - | What makes this variant different from others. |
| weight | number | 1 | ex. 0.5, 2, 99. variants invocations can be 'controlled' by weights |

## License

MIT © [Hermanya](https://github.com/Hermanya)