Effector

Effector

  • Docs
  • Try
  • API
  • Blog
  • Twitter
  • GitHub
Effector

Effector

The state manager

import {createStore, createEvent} from 'effector'

const increment = createEvent('increment')
const decrement = createEvent('decrement')
const resetCounter = createEvent('reset counter')

const counter = createStore(0)
  .on(increment, state => state + 1)
  .on(decrement, state => state - 1)
  .reset(resetCounter)

counter.watch(n => console.log('counter: ', n))
// counter: 0
increment.watch(() => console.log('increment'))
decrement.watch(() => console.log('decrement'))

increment()
// counter: 1
// increment
decrement()
// counter: 0
// decrement
Get started
Try it out

Type safe

TypeScript and Flow support out of box.

Developer-friendly

Simple API surface and helpful community.

Maximum performance

Static initialization provides boost in performance for runtime.

Tiny bundle size

Effector uses Rollup and Terser to provide small builds.

Flexible

Can work with any UI or server framework.

Effector
Docs
Getting StartedAPI Reference
Community
User ShowcaseStack OverflowGitterTwitter
More
GitHubStar
Copyright © 2019 zerobias