1.0.2 • Published 5 years ago

unstated-compose-suspense-middleware v1.0.2

Weekly downloads
2
License
MIT
Repository
github
Last release
5 years ago

Unstated Compose Suspense Middleware

Add middlewares support to unstated-compose-suspense.

Install

npm install --save unstated-compose-suspense-middleware

Usage

To learn more about composed containers check out unstated-compose.

import * as React from 'react';
import {ChildContainer} from 'unstated-compose-suspense-middleware';

class AppContainer extends ChildContainer {
  state = {
    value: 'No value...'
  };
  middlewares () { // This function is called by the constructor, it's just a convenience method where you can define your middlewares
    this.addMiddleware ( this.middlewareValueChanged ); // Add a new middleware via the `addMiddleware` method
  }
  middlewareValueChanged ( prevState ) { // Middlewares are called with the previous state
    if ( prevState.value !== this.state.value ) {
      this.removeMiddleware ( this.middlewareValueChanged ); // Remove a middleware via the `removeMiddleware` method
      return state = { value: 'middleware!' }; // A middleware can either mutate the state (ouch!) or return a new one
    }
  }
  updateValueFoo () {
    this.setState ({ value: 'foo' });
  }
  updateValueBar () {
    this.setState ({ value: 'bar' });
  }
}

Related

License

MIT © Fabio Spampinato