Détail du package

effector

effector187kMIT23.4.1

Business logic with ease

business, logic, data, flow

readme

Effector Comet Logo


join gitter build status discord chat become a patron Ask DeepWiki

☄️ effector

Business logic with ease

Visit effector.dev for docs, guides and examples

Table of Contents

Introduction

Effector implements business logic with ease for Javascript apps (React/React Native/Vue/Svelte/Node.js/Vanilla), allows you to manage data flow in complex applications. Effector provides best TypeScript support out of the box.

Effector follows five basic principles:

  • Application stores should be as light as possible - the idea of adding a store for specific needs should not be frightening or damaging to the developer.
  • Application stores should be freely combined - data that the application needs can be statically distributed, showing how it will be converted in runtime.
  • Autonomy from controversial concepts - no decorators, no need to use classes or proxies - this is not required to control the state of the application and therefore the api library uses only functions and plain js objects
  • Predictability and clarity of API - a small number of basic principles are reused in different cases, reducing the user's workload and increasing recognition. For example, if you know how .watch works for events, you already know how .watch works for stores.
  • The application is built from simple elements - space and way to take any required business logic out of the view, maximizing the simplicity of the components.

Installation

You can use any package manager

npm add effector

React

To getting started read our article how to write React and Typescript application.

npm add effector effector-react

SolidJS

npm add effector effector-solid

Vue

npm add effector effector-vue

Svelte

Svelte works with effector out of the box, no additional packages needed. See word chain game application written with svelte and effector.

CDN

Documentation

For additional information, guides and api reference visit our documentation site

Packages

Articles

Community

Online playground

You can try effector with online playground

Code sharing, Typescript and react supported out of the box. Playground repository

DevTools

Use effector-logger for printing updates to console, displaying current store values with ui or connecting application to familiar redux devtools


More examples in documentation

Learn more

Support us

Your support allows us to improve the developer experience 🧡.

Contributors

Dmitry
Dmitry
andretshurotshka
andretshurotshka
Sova
Sova
Alexander
Alexander Khoroshikh
popuguy
popuguy
Igor
Igor Kamyşev
pxbuffer
pxbuffer
Valeriy
Valeriy Kobzar
Yan
Yan
Illia
Illia Osmanov
Ruslan
Ruslan @doasync
mg901
mg901
Igor
Igor Ryzhov
Arthur
Arthur Irgashev
Viktor
Viktor
Edward
Edward Gigolaev
Ilya
Ilya
Ainur
Ainur
Ilya
Ilya Olovyannikov
Nikita
Nikita Kungurcev
Arutyunyan
Arutyunyan Artem
Mikhail
Mikhail Kireev
Dmitrij
Dmitrij Shuleshov
Ivan
Ivan Savichev
Nikita
Nikita Nafranets
Aleksandr
Aleksandr Osipov
bakugod
bakugod
Зухриддин
Зухриддин Камильжанов
Victor
Victor Didenko
Mikhail
Mikhail Krilov
Viktor
Viktor Pasynok
Kirill
Kirill Mironov
Andrei
Andrei
Denis
Denis
Filipkin
Filipkin Denis
Ivan
Ivan
Ivanov
Ivanov Vadim
sergey20x25
sergey20x25
Rastrapon
Rastrapon
Dan
Dan
Bohdan
Bohdan Petrov
Bartłomiej
Bartłomiej Wendt
Andrei
Andrei Antropov
☃︎
☃︎
xaota
xaota
cqh
cqh
Aldiyar
Aldiyar Batyrbekov
Vladimir
Vladimir Ivakin
Vitaly
Vitaly Afonin
Victor
Victor
Tauyekel
Tauyekel Kunzhol
Ivan
Ivan
Sozonov
Sozonov
Samir
Samir
Renat
Renat Sagdeev
Kirill
Kirill
Denis
Denis Sikuler
Chshanovskiy
Chshanovskiy Maxim
Arsen-95
Arsen-95
Anton
Anton Yurovskykh
Anton
Anton Kosykh
Aleksandr
Aleksandr Belov
Usman
Usman Yunusov
Vasili
Vasili Sviridov
Vasili
Vasili Svirydau
Victor
Victor Kolb
Vladislav
Vladislav
Vladislav
Vladislav Melnikov
Vladislav
Vladislav Botvin
Will
Will Heslam
xxxxue
xxxxue
The
The Gitter Badger
Simon
Simon Muravev
Shiyan7
Shiyan7
Sergey
Sergey Belozyorcev
Satya
Satya Rohith
Roman
Roman Paravaev
Roman
Roman
Robert
Robert Kuzhin
Raman
Raman Aktsisiuk
Rachael
Rachael Dawn
vladthelittleone
vladthelittleone
Vladimir
Vladimir
roman
roman
Eris
Eris
lightningmq
lightningmq
Kirill
Kirill Leushkin
kanno
kanno
Ilya
Ilya
ilfey
ilfey
Houston
Houston (Bot)
Grigory
Grigory Zaripov
dmitryplyaskin
dmitryplyaskin
Stanislav
Stanislav
Артём
Артём Жолудь
ansunrisein
ansunrisein
Anatoly
Anatoly Kopyl
Yesset
Yesset Zhussupov
Rasul
Rasul
Dmitry
Dmitry Dudin
Dmitry
Dmitry
Denis
Denis Skiba
Dinislam
Dinislam Maushov
Ayu
Ayu
David
David
Egor
Egor Gorochkin
Amar
Amar Sood
Александр
Александр
Alexander
Alexander
Alex
Alex Anokhin
jokecodes
jokecodes
Alex
Alex Arro
Aleksandr
Aleksandr Grigorii
Abel
Abel Soares Siqueira
7iomka
7iomka
Abdukerim
Abdukerim Radjapov
0xflotus
0xflotus
bigslycat
bigslycat
Pavel
Pavel Hrakovich
Oleh
Oleh
Oleg
Oleg
Mike
Mike Cann
Nikita
Nikita Svoyachenko
Ludovic
Ludovic Dem
Leniorko
Leniorko
Lebedev
Lebedev Konstantin
Joel
Joel Bandi
Jesse
Jesse Jackson
Jan
Jan Keromnes
Ivan
Ivan
Infant
Infant Frontender
Ilya
Ilya Martynov
Gleb
Gleb Kotovsky
Gabriel
Gabriel Husek
Ed
Ed Prince

Tested with browserstack