Interface: IReactionPublic
Defined in: mobx:
Reactions are a special kind of derivations. Several things distinguishes them from normal reactive computations
- They will always run, whether they are used by other computations or not. This means that they are very suitable for triggering side effects like logging, updating the DOM and making network requests.
- They are not observable themselves
- They will always run after any 'normal' derivations
- They are allowed to change the state and thereby triggering themselves again, as long as they make sure the state propagates to a stable state in a reasonable amount of iterations.
The state machine of a Reaction is as follows:
- after creating, the reaction should be started by calling
runReactionor by scheduling it (see alsoautorun) - the
onInvalidatehandler should somehow result in a call tothis.track(someFunction) - all observables accessed in
someFunctionwill be observed by this reaction. - as soon as some of the dependencies has changed the Reaction will be rescheduled for another run (after the current mutation or transaction).
isScheduledwill yield true once a dependency is stale and during this period onInvalidatewill be called, and we are back at step 1.
Methods
dispose()
ts
dispose(): void;Defined in: mobx:
Returns
void
trace()
ts
trace(enterBreakPoint?: boolean): void;Defined in: mobx:
Parameters
| Parameter | Type |
|---|---|
enterBreakPoint? | boolean |
Returns
void