npm.io
0.6.3 • Published yesterday

@wirestate/react-mobx

Licence
MIT
Version
0.6.3
Deps
0
Size
20 kB
Vulns
0
Weekly
378

@wirestate/react-mobx

npm license

Re-exports MobX and mobx-react-lite, plus class decorator wrappers compatible with TypeScript's legacy decorators.

Installation

npm install @wirestate/react-mobx mobx mobx-react-lite

Usage

import {
  makeObservable,
  observer,
  Observable,
  ShallowObservable,
  Action,
  Computed,
} from '@wirestate/react-mobx';

Decorator wrappers

Export Wraps
Observable() observable
ShallowObservable() observable.shallow
RefObservable() observable.ref
DeepObservable() observable.deep
Action() action
Computed() computed

Example:

import { Injectable, Inject, WireScope } from '@wirestate/core';
import { makeObservable, Observable, Action } from '@wirestate/react-mobx';

@Injectable()
export class CounterService {
  @Observable()
  public count = 0;

  public constructor(@Inject(WireScope) private scope: WireScope) {
    makeObservable(this);
  }

  @Action()
  public increment(): void {
    this.count++;
  }
}

License

MIT

Keywords