Git Product home page Git Product logo

awesome-state's Introduction

awesome-state

Collection of state management lib

bg

State management refers to the management of the state of one or more user interface controls such as text fields, OK buttons, radio buttons, etc. in a graphical user interface. In this user interface programming technique, the state of one UI control depends on the state of other UI controls. For example, a state managed UI control such as a button will be in the enabled state when input fields have valid input values and the button will be in the disabled state when the input fields are empty or have invalid values. As applications grow, this can end up becoming one of the most complex problems in user interface development.[1]

This is especially the case when the state of any particular message or form on the page depends on factors outside of the current page, or available throughout several pages. For example, consider a user who is logged in and sees the 'welcome' message on their first visit to any page, but not on subsequent page visits. Does each page manage the state of the user being logged in? That would create too much copy pasting and duplication of code. Instead, you can use a state management pattern for handling messages (this may also include handling error messages and informative messages, along with the described welcome message) and then call this to receive a message as it becomes available.

cross framework

  • redux Predictable state container for JavaScript apps
  • mobx Simple, scalable state management.
  • mobx-keystone A MobX powered state management solution based on data trees with first class support for TypeScript, support for snapshots, patches and much more
  • akita 🚀 State Management Tailored-Made for JS Applications
  • effector The state manager ☄️
  • usm 🏖A concise & flexible state model for Redux/MobX/Vuex, etc.
  • storeon 🌩 A tiny (167 bytes) event-based Redux-like state manager for React, Preact, Angular, Vue, and Svelte
  • xsm State Management made eXtraordinarily simple and effective for Angular, React, and Vue
  • xoid ⚛️ Scalable, fine-grained, and minimal state-management library for React and vanilla JavaScript

react

  • eventrix Scaling and predictable JS library for state managing and centralizing application global state.
  • flux Application Architecture for Building User Interfaces
  • reflux A simple library for uni-directional dataflow application architecture with React extensions inspired by Flux
  • react-redux Official React bindings for Redux.
  • mobx-react Official React bindings for Mobx
  • concent State management tailored for react, it is simple、predictable、progressive and efficient.
  • rematch REmatch, a complete binary diffing framework that is free and strives to be open source and community driven.
  • constate React Context + State
  • unstated State so simple, it goes without saying
  • zustand 🐻 Bear necessities for state management in React
  • easy-peasy Vegetarian friendly state for React
  • react-easy-state Simple React state management. Made with ❤️ and ES6 Proxies.
  • redux-observable RxJS middleware for action side effects in Redux using "Epics"
  • react-automata A state machine abstraction for React
  • dva Lightweight front-end framework based on redux, redux-saga and react-router.
  • react-copy-write ✍️ Immutable state with a mutable API
  • unistore 🌶 350b / 650b state container with component actions for Preact & React
  • kea Production Ready State Management for React
  • undux ⚡️ Dead simple state for React. Now with Hooks support.
  • moreartyjs centralized state management for React in pure JavaScript
  • Hookstate The simple but very powerful and incredibly fast state management for React that is based on hooks
  • hox The next-generation state manager for React.
  • use-persisted-state A custom React Hook that provides a multi-instance, multi-tab/browser shared and persistent state.
  • marty A Javascript library for state management in React applications
  • TNG-Hooks Provides React-inspired 'hooks' like useState(..) for stand-alone functions
  • react-hooks-global-state
  • react-hooks-global-state Simple global state for React with Hooks API
  • redux-arena Bundling reducers, actions, saga and react-component when using Redux
  • dob-react React bindings for dob
  • doux Simple reactivity system with composition API.
  • react-tracked Simple and fast global state with React Context. Eliminate unnecessary re-renders without hassle.
  • icestore 🌩 Simple and friendly state for React
  • overmind Overmind - Frictionless state management
  • outstated Simple hooks-based state management for React
  • pure-store A tiny immutable store with type safety.
  • react-broadcast Reliably communicate state changes to deeply nested React elements
  • react-nano-state Fast state that can be shared across components outside of the React tree
  • react-sweet-state Shared state management solution for React
  • stamen A React state management library based on Hooks
  • rex-state The simplest state management tool for React
  • statux ⚛️ A minimal state management library for React with Hooks and immutable state
  • reworm 🍫 the simplest way to manage state
  • remx Opinionated mobx
  • vuex-redux Make Redux as simple as Vuex
  • linkstate Bind events to state. Works with Preact and React.
  • statty A tiny and unobtrusive state management library for React and Preact apps
  • freactal Clean and robust state management for React and React-like libs.
  • react-3ducks Simple state management solution for React
  • teaful Tiny, easy and powerful React state management

vue

  • vuex Centralized State Management for Vue.js.
  • mobx-vue Vue bindings for Mobx
  • vuet 允许你定义飙车过程的集中式状态管理模式
  • VueFlux ♻️ Unidirectional State Management Architecture for Swift - Inspired by Vuex and Flux
  • vue-rx 👁️ RxJS integration for Vue.js.
  • vuex-observable Consume Vuex actions as Observables using RxJS 5
  • vue-reactive-store A VueX alternative : declarative + reactive + centralized way to structure your data store. Inspired by VueX and Vue.js . Compatible with vue-devtools.
  • vuex-stores 🗄 Store objects for Vuex, a simple and more fluid API for state-management.
  • Vuex-Alt An alternative approach to Vuex helpers for accessing state, getters and actions that doesn't rely on string constants.
  • vue-entity-adapter Package to maintain entities in Vuex.

mini-programe

  • westore 微信小程序解决方案 - 1KB javascript 覆盖状态管理、跨页通讯、插件开发和云数据库开发
  • minii State management for Wechat Mini App
  • herculex Predictable state container for alipay mini-program inspired by vuex, redux, immutableJS,elm,rxjs
  • mp-store 轻量级的小程序状态管理库
  • wxMiniStore一个基于微信小程序的mini全局状态管理库
  • mobx-wxapp 在小程序中使用mobx
  • mobx-miniprogram-bindings 小程序的 MobX 绑定辅助库
  • Wepy-Redux 微信小程序wepy框架接入 Redux 状态管理
  • weapp_expressTime微信小程序之物流状态时间轴简单模板样式
  • mp-store 轻量级的小程序状态管理库
  • wxappStore 微信小程序全局状态管理,并提供Vuex的开发体验
  • wxMiniStore 一个基于微信小程序的mini全局状态管理库

angular

  • ng-redux Angular bindings for Redux.
  • redux-rx RxJS utilities for Redux.
  • ngxs 🚀 NGXS - State Management for Angular
  • mobx-angular MobX connector to Angular
  • RxEmitter RxEmitter combines the characteristics of Rxjs and eventBus
  • angular-model Simple state management with minimalist API, one way data flow, multiple model support and immutable data exposed as RxJS Observable.
  • ngx-model Angular Model. Simple state management with minimalistic API, one way data flow, multiple model support and immutable data exposed as RxJS Observable.
  • tinystate A tiny, yet powerful state management library for Angular
  • ng-simple-state Simplex state management based on Rxjs and service

other

  • fish-redux An assembled flutter application framework.
  • RxAndroid Reactive Extensions for Android
  • flutter-provide A simple framework for state management in Flutter.
  • bloc A predictable state management library that helps implement the BLoC design pattern
  • mobx.dart MobX for the Dart language. Hassle-free, reactive state-management for your Dart and Flutter apps.
  • multiple-counters-flutter Flutter State Management [ setState ❖ StreamBuilder ❖ scoped_model ❖ redux ]
  • flutter-native-state Flutter plugin to help restoring state after the app process was killed
  • easy The easiest state manager for Flutter.
  • Reflow A unidirectional data flow framework for Objective-C inspired by Flux, Redux and Vue
  • rebloc A state management library for Flutter that combines aspects of Redux and BLoC.

awesome-state's People

Contributors

aralroca avatar cijiugechu avatar dravenww avatar drawcall avatar fantasticsoul avatar nigrosimone avatar onurkerimov avatar sisp avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.