tools: fix disposableReaction function
This commit is contained in:
parent
4b893f2be7
commit
627b97413f
@ -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);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user