Skip to content

Thanh8282/effector

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Effector Comet Logo


join gitter rate on openbase build status discord chat become a patron

☄️ 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
Egor/
Egor
Valeriy
Valeriy Kobzar
Yan/
Yan
Ruslan
Ruslan @doasync
Illia
Illia Osmanov
mg901/
mg901
Igor
Igor Ryzhov
Arthur
Arthur Irgashev
Viktor/
Viktor
Ilya/
Ilya
Ainur/
Ainur
Arutiunian
Arutiunian Artem
Dmitrij
Dmitrij Shuleshov
Nikita
Nikita Nafranets
Ivan
Ivan Savichev
Aleksandr
Aleksandr Osipov
Зухриддин
Зухриддин Камильжанов
bakugod/
bakugod
Victor
Victor Didenko
Viktor
Viktor Pasynok
Kirill
Kirill Mironov
Andrei/
Andrei
Ivan/
Ivan
Bohdan
Bohdan Petrov
sergey20x25/
sergey20x25
Ivanov
Ivanov Vadim
Aleksandr
Aleksandr Belov
Victor/
Victor
Vladimir
Vladimir Ivakin
Aldiyar
Aldiyar Batyrbekov
cqh/
cqh
xaota/
xaota
☃︎/
☃︎
Andrei
Andrei Antropov
Mikhail
Mikhail Kireev
Anton
Anton Kosykh
Anton
Anton Yurovskykh
Arsen-95/
Arsen-95
Denis
Denis Sikuler
Kirill/
Kirill
Renat
Renat Sagdeev
Samir/
Samir
Sozonov/
Sozonov
Stanislav/
Stanislav
Tauyekel
Tauyekel Kunzhol
xxxxue/
xxxxue
Vladislav
Vladislav Melnikov
Victor
Victor Kolb
Vasili
Vasili Svirydau
Vasili
Vasili Sviridov
vadimfilimonov/
vadimfilimonov
Usman
Usman Yunusov
The
The Gitter Badger
Shiyan7/
Shiyan7
Sergey
Sergey Belozyorcev
Satya
Satya Rohith
Roman/
Roman
Robert
Robert Kuzhin
Raman
Raman Aktsisiuk
Rachael
Rachael Dawn
0xflotus/
0xflotus
vladthelittleone/
vladthelittleone
roman/
roman
Marina
Marina Miyaoka
Kirill
Kirill Leushkin
kanno/
kanno
ilfey/
ilfey
Houston
Houston (Bot)
Grigory
Grigory Zaripov
dmitryplyaskin/
dmitryplyaskin
Stanislav/
Stanislav
ansunrisein/
ansunrisein
Anatoly
Anatoly Kopyl
Yesset
Yesset Zhussupov
Rasul
Rasul
Will
Will Heslam
Vladislav
Vladislav Botvin
Abdukerim
Abdukerim Radjapov
7iomka/
7iomka
Abel
Abel Soares Siqueira
Aleksandr
Aleksandr Grigorii
Alex
Alex Arro
Aleksei/
Aleksei
Alex
Alex Anokhin
Alexander/
Alexander
Александр/
Александр
Ayu/
Ayu
Dennis
Dennis Maush
Denis
Denis Skiba
Dmitry
Dmitry Dudin
Ed
Ed Prince
Filipkin
Filipkin Denis
Gabriel
Gabriel Husek
Ilya
Ilya Martynov
Infant
Infant Frontender
Ivan/
Ivan
Jan
Jan Keromnes
Jesse
Jesse Jackson
Joel
Joel Bandi
Lebedev
Lebedev Konstantin
Leniorko/
Leniorko
Ludovic
Ludovic Dem
Nikita
Nikita Svoyachenko
Mike
Mike Cann
Oleg/
Oleg
Oleh/
Oleh
Pavel
Pavel Hrakovich
bigslycat/
bigslycat

Tested with browserstack

About

Business logic with ease ☄️

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 95.8%
  • JavaScript 4.2%