@tiendanube/react-experiments

1.1.1 • Public • Published

Requisitos

  • React +16.13.0
  • Conhecimento de Hooks
  • Conhecimento de Context

Adicionando lib ao projeto

yarn add @tiendanube/react-experiments

Configurando o Context

A primeira coisa a fazer é configurar o Context passando os parametros de controle de exibicão dos experimentos. Deve-se importar o ProviderExperiment, na raiz englobando seu projeto.

experiments

Essa prop recebe um objeto com a segunte chave e valor: { name_do_experiento: 'variavel_ativa' } Exemplo:

experiments = { teste_sidebar: 'a' }
methodParams

Essa prop recebe o method de persistencia dos dados que serão coletados no teste:

  method = (nameEvent, variant, extra) => {
    return (
      $ajax('url-do-uru', {
        nameEvent,
        variant,
        extra
      })
    )
  }
ProviderExperiment
import { ProviderExperiment } from '@tiendanube/react-experiments'

<ProviderExperiment
  experimentsParams={experiments}
  methodParams={this.method}
>
  <app> <- seu projeto
</ProviderExperiment>

Experiment

Após configurar o Provider, vamos a implementação do teste, temos duas props: name = Nome do experimento deve conter nos experimentos informados no provider variant = Qual variante daquele component.

import { Experiment } from '@tiendanube/react-experiments'

<Experiment
  name="teste_sidebar"
  variant="a"
>
  <ComponentA />
</Experiment>

useEmitter

Para utilizar o hook de evento é muito simples, você precisar extrair a função "execute" dentro dele da seguinte forma:

import { useEmitter } from '@tiendanube/react-experiments'
const { execute } = useEmitter('name_experiment', {variaveis_extras});

<button type="button" onClick={execute}>Test Event Hook</button>

Obs. O segundo parametro do Hook é para você conseguir passar parametros extras de controle do seu teste, seja ele um objeto com várias informações ou até mesmo uma string.

Readme

Keywords

none

Package Sidebar

Install

npm i @tiendanube/react-experiments

Weekly Downloads

1

Version

1.1.1

License

ISC

Unpacked Size

6.24 kB

Total Files

3

Last publish

Collaborators

  • tiendanube