react-native-ab
A component for rendering A/B tests in React Native.
Getting started
npm install react-native-ab@latest --save
Usage
All you need is to require
the react-native-ab
module and then use the provided tags (<Experiment>
, and <Variant>
).
var React = ;var AppRegistry StyleSheet Text View TouchableHighlight = React;var Experiment Variant = ; var rnabtest = React; var styles = StyleSheet; AppRegistry;
<Experiment>
Properties
name
The name of your experiment, for example "welcome-message"
.
choose
Example callback signature: function(variants)
Must return an instance of Variant
A function which should use a randomization algorithm to pick one of your variants. Defaults to a random selection using Math.random()
onChoice
Example callback signature: function(experimentName, variantName)
Called when a Variant
has been chosen for your Experiment
.
onRawChoice
Example callback signature: function(experiment, variant)
Same as onChoice
, but the objects passed are React component instances.
<Experiment>
methods
You can access component methods by adding a ref
(ie. ref="welcomeExperiment"
) prop to your <Experiment>
element, then you can use this.refs.welcomeExperiment.reset()
, etc. inside your component.
reset()
Resets the experiment. The next time the experiment is rendered, a new variant may be chosen.
getActiveVariant()
Returns the currently displayed Variant
.
getVariant(variantName)
Returns the instance of the specified Variant
name.
<Variant>
Properties
name
The name of your variant, for example "western"
.
Subviews
Only the Variant
tag element exist within the Experiment
element. Variant
tags can contain only one root element.