tools: fix disposableReaction function

This commit is contained in:
vchikalkin 2023-04-12 00:24:28 +03:00
parent 4b893f2be7
commit 627b97413f

View File

@ -1,6 +1,6 @@
import type { IReactionDisposer, IReactionOptions, IReactionPublic } from 'mobx';
import { autorun, reaction } from 'mobx';
import { debounce, omit } from 'radash';
import { debounce } from 'radash';
export function disposableReaction<T, FireImmediately extends boolean = false>(
mustBeDisposed: () => boolean,
@ -14,10 +14,6 @@ export function disposableReaction<T, FireImmediately extends boolean = false>(
) {
let disposer: IReactionDisposer | undefined;
if (!mustBeDisposed()) {
disposer = reaction(expression, effect, reactionOpts);
}
function cleanDisposer() {
disposer = undefined;
}
@ -27,8 +23,7 @@ export function disposableReaction<T, FireImmediately extends boolean = false>(
if (disposer !== undefined) disposer();
cleanDisposer();
} else {
const opts = reactionOpts ? omit(reactionOpts, ['fireImmediately']) : undefined;
disposer = reaction(expression, effect, opts);
disposer = reaction(expression, effect, reactionOpts);
}
});
}