1.3.2 • Published 4 years ago

react-experiment-hoc v1.3.2

Weekly downloads
14
License
ISC
Repository
-
Last release
4 years ago

react-experiment-hoc

A/B-test components with a simple hoc

Latest Stable Version License

Usage

withExperiment(experiment-name, [options])(Component)

Options

NameDescriptionTypeDefault
persistentWheter the experiment should be persistant for sesions. -1 evaluate on every render, 0 evaluate on every session, 1 evaluate once.int1
autoPlayAuto play experiment on renderboolfalse
fallbackNameName of the fallback variation if fetch failsstring'original'
propPrefixPrefix for the prop names passed to BaseComponentstringnull
onFetchFetch method returns variations of the given experimentfunctionPromise.resolve([])
onPlayTrigger playfunctionPromise.resolve()
onWinTrigger winfunctionPromise.resolve()
setCookieSet cookie methodfunctionjs-cookie.set
getCookieGet cookie methodfunctionjs-cookie.get

Example

import { ExperimentContext, withExperiment } from 'react-experiment-hoc';

// App
const App = () => (
    <ExperimentProvider options={experimentOptions}>
        <p>This app is running experiments!</p>
        <ExperimentBtn />
    </ExperimentProvider>
);

// Original component
const Btn = ({experimentWin,experimentVariant: v}) => (
    <button style={{
            opacity: !v ? 0 : 1,
            background: v === 'green-cta' ? 'green' : '',
        }}
        onClick={experimentWin}>
        PRESS ME!
    </button>
)

// Apply the experiments
const ExperimentBtn = withExperiment('new-cta-colors', {
    autoPlay: true
})(Btn)

render(<App />, document.getElementById("root"));
1.3.2

4 years ago

1.3.1

4 years ago

1.3.0

4 years ago

1.2.2

4 years ago

1.2.1

4 years ago

1.2.0

4 years ago

1.1.1

4 years ago

1.0.1

5 years ago

1.0.0

5 years ago

0.0.1

6 years ago