Skip to main content

React Client SDK

Background#

этот SDK повторно использует ряд концепций javaScript, представленных в этом SDK. React Client включает в себя:

  • параметры инициализации имеют тот же набор параметров, но специфичными для react.
  • hooks: useEffect, useState

Инициализация SDK#

Вы можете установить модуль Sigma через npm или yarn.

npm install expf-sigma.js

Пример#

Для работы sdk можно настроить отдельный hook, который будет содержать настройки sdk и данные экспериментов, фича флагов.

./src/hooks/useSigma.js
import Sigma from "expf-sigma.js";import { useEffect, useState } from 'react';
export function useSigma () {  const [sigma, setSigmaState] = useState({});
  useEffect(() => {    const sigmaData =  async () => {      const sigma = new Sigma();      const token = 'AE541D2D-0A51-4BB8-90D5-947B9DE05DD9';
      sigma.init({        token,        userData: {          email: '1ex@mail.ru',        },      });
      const browserName = await sigma.checkFlag('browser_name');      const buttonColor = await sigma.checkFlag('button_color');      const exParam = await sigma.getExperiment('param').then((res) => res.getParamValue('param_name'));
      setSigmaState({        browserName,        buttonColor,        exParam      });    }
    sigmaData();  }, []);
  return [sigma];}

В компонентах подключить результат, например:

./src/components/Title.js
import { useSigma } from "../hooks/useSigma";
export default function Title() {  const [sigma] = useSigma();
  return (    <h1>{sigma.browserName}</h1>  );}