Что такое Effector

Ответ

Effector — это современная state-менеджер библиотека для управления состоянием в JavaScript-приложениях. Она основана на концепции реактивного программирования и предоставляет простой API для работы с состоянием, событиями и сайд-эффектами.

Ключевые сущности:

  • Store — иммутабельный контейнер состояния.
  • Event — источник изменений (аналог actions в Redux).
  • Effect — сайд-эффект с поддержкой асинхронных операций.

Пример:

import { createStore, createEvent, createEffect } from 'effector';

const increment = createEvent();
const fetchDataFx = createEffect(async () => {
  const res = await fetch('/api/data');
  return res.json();
});

const $counter = createStore(0)
  .on(increment, (state) => state + 1)
  .on(fetchDataFx.doneData, (_, data) => data.count);

increment(); // Увеличит счетчик
fetchDataFx(); // Загрузит данные и обновит состояние

Преимущества:

  • Минимальный boilerplate
  • Высокая производительность
  • Отличная TypeScript поддержка
  • Гибкая интеграция с React/Vue/Solid