All Projects β†’ betula β†’ lamp-luwak

betula / lamp-luwak

Licence: MIT license
Service-oriented state management for React

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to lamp-luwak

Inherited builder
πŸ€–Autogenerated state management and dependency injection with inherited widgets
Stars: ✭ 17 (+41.67%)
Mutual labels:  state-management, dependency-injection
agile
🌌 Global State and Logic Library for JavaScript/Typescript applications
Stars: ✭ 90 (+650%)
Mutual labels:  modular, state-management
Flutter Boilerplate Project
A boilerplate project created in flutter using MobX and Provider.
Stars: ✭ 1,194 (+9850%)
Mutual labels:  state-management, dependency-injection
Getx
Open screens/snackbars/dialogs/bottomSheets without context, manage states and inject dependencies easily with Get.
Stars: ✭ 5,578 (+46383.33%)
Mutual labels:  state-management, dependency-injection
Spaceace
A fancy immutable storage library for JavaScript
Stars: ✭ 167 (+1291.67%)
Mutual labels:  modular, state-management
Fluorine
[UNMAINTAINED] Reactive state and side effect management for React using a single stream of actions
Stars: ✭ 287 (+2291.67%)
Mutual labels:  state-management, dispatcher
Reto
Flexible and efficient React Store with hooks.
Stars: ✭ 194 (+1516.67%)
Mutual labels:  state-management, dependency-injection
Momentum
MVC pattern for flutter. Works as state management, dependency injection and service locator.
Stars: ✭ 99 (+725%)
Mutual labels:  state-management, dependency-injection
Mag.js
MagJS - Modular Application Glue
Stars: ✭ 157 (+1208.33%)
Mutual labels:  modular, state-management
Zikrouter
Interface-oriented router for discovering modules, and injecting dependencies with protocol in Objective-C and Swift.
Stars: ✭ 516 (+4200%)
Mutual labels:  modular, dependency-injection
RxReduxK
Micro-framework for Redux implemented in Kotlin
Stars: ✭ 65 (+441.67%)
Mutual labels:  state-management, action
atomic-state
Atomic State is a state management library for React
Stars: ✭ 15 (+25%)
Mutual labels:  state-management, dispatcher
wedi
[Deprecated] A lightweight dependency injection (DI) library for TypeScript, along with a binding for React.
Stars: ✭ 22 (+83.33%)
Mutual labels:  state-management, dependency-injection
States rebuilder
a simple yet powerful state management technique for Flutter
Stars: ✭ 372 (+3000%)
Mutual labels:  state-management, dependency-injection
okito
Your best flutter coding friend. All in one; state management, navigation management(with dynamic routing), local storage, localization, dependency injection, cool extensions with best usages and with the support of best utilities!
Stars: ✭ 37 (+208.33%)
Mutual labels:  state-management, dependency-injection
mindjs
Minimalistic, pure Node.js framework superpowered with Dependency Injection πŸ’‘ πŸ’» πŸš€
Stars: ✭ 17 (+41.67%)
Mutual labels:  modular, dependency-injection
StartupModules
Startup modules for ASP.NET Core.
Stars: ✭ 33 (+175%)
Mutual labels:  modular, dependency-injection
nstate
A simple but powerful react state management library with low mind burden
Stars: ✭ 11 (-8.33%)
Mutual labels:  state-management, react-store
temperjs
State management for React, made simple.
Stars: ✭ 15 (+25%)
Mutual labels:  state-management
ReduxSimple
Simple Stupid Redux Store using Reactive Extensions
Stars: ✭ 119 (+891.67%)
Mutual labels:  state-management

lamp-luwak

lamp-luwak is no longer maintained. Please use remini or use-between instead of.

lamp-luwak logo

Flexible state management for React

npm npm type definitions npm bundle size build status code coverage

Introduction

Multistore state management with service ideology and module architecture for React. You can organize the code of your application by service-stores. Single instantiated instances of classes or function factory with a store inside at any place of your app code.

  • Service-oriented and multistore architecture
  • Update view components only dependent of changed stores
  • No use Context API inside
  • TypeScript supported
  • Lightweight (~3Kb)

Install

npm i --save lamp-luwak
# or
yarn add lamp-luwak

Basic Usage

import React from 'react';
import { set, useService } from 'lamp-luwak';

class CounterService {
  state = 0; // Initial state
  increment() {
    set(this, (state) => state + 1);
  }
  decrement() {
    set(this, (state) => state - 1);
  }
}

const Counter = () => {
  const counter = useService(CounterService);
  return (
    <>
      <button onClick={() => counter.increment()}>+</button>
      <button onClick={() => counter.decrement()}>-</button>
      <p>Counter: {counter.state}</p>
    </>
  )
};

Example on codesandbox

Documentation

The Russian article

Examples

License

Lamp Luwak is MIT licensed.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].