Revert "tools: fix disposableReaction function"
This reverts commit 627b97413fbba8f6ac86c75ecce72b106d9bc0b2.
This commit is contained in:
parent
627b97413f
commit
1aa4ae7752
@ -1,6 +1,6 @@
|
||||
import type { IReactionDisposer, IReactionOptions, IReactionPublic } from 'mobx';
|
||||
import { autorun, reaction } from 'mobx';
|
||||
import { debounce } from 'radash';
|
||||
import { debounce, omit } from 'radash';
|
||||
|
||||
export function disposableReaction<T, FireImmediately extends boolean = false>(
|
||||
mustBeDisposed: () => boolean,
|
||||
@ -14,6 +14,10 @@ export function disposableReaction<T, FireImmediately extends boolean = false>(
|
||||
) {
|
||||
let disposer: IReactionDisposer | undefined;
|
||||
|
||||
if (!mustBeDisposed()) {
|
||||
disposer = reaction(expression, effect, reactionOpts);
|
||||
}
|
||||
|
||||
function cleanDisposer() {
|
||||
disposer = undefined;
|
||||
}
|
||||
@ -23,7 +27,8 @@ export function disposableReaction<T, FireImmediately extends boolean = false>(
|
||||
if (disposer !== undefined) disposer();
|
||||
cleanDisposer();
|
||||
} else {
|
||||
disposer = reaction(expression, effect, reactionOpts);
|
||||
const opts = reactionOpts ? omit(reactionOpts, ['fireImmediately']) : undefined;
|
||||
disposer = reaction(expression, effect, opts);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user