Interface UseBindingEffectOptions

interface UseBindingEffectOptions {
    areInputValuesEqual?: ((a: any, b: any) => boolean);
    deps?: DependencyList;
    detectInputChanges?: boolean;
    id?: string;
    limitMSec?: number;
    limitMode?: LimitMode;
    limitType?: LimitType;
    makeComparableInputValue?: (() => any);
    priority?: number;
    queue?: RunQueue;
    triggerOnMount?: boolean | "first" | "if-input-changed";
}

Hierarchy (view full)

Properties

areInputValuesEqual?: ((a: any, b: any) => boolean)

If specified, overrides the function used to compare input values

_.isEqual, which can be globally overridden using setAreEqual

deps?: DependencyList

On a rerender, deps changes are treated like bindings changes. That is, if they change between renders, the input change detection logic is run (using the areInputValuesEqual, detectInputChanges, and makeComparableInputValue values) using the limiter (see LimiterOptions).

detectInputChanges?: boolean
  • If trueareInputValuesEqual is used to compare the old and new results of makeComparableInputValue when any of the input bindings or deps are changed. If the values are equal, the transformer won't be run. If they're unequal, the transformer will be run.
  • If false – old and new values aren't compared, the transformer will always be run.

false

id?: string

A technical but human-readable ID

limitMSec?: number

The duration to debounce/throttle for

0

limitMode?: LimitMode

The limiter mode

'trailing'

limitType?: LimitType

The type of limiter

'debounce'

makeComparableInputValue?: (() => any)

By default, when detectInputChanges is true, the input is compared using all specified bindings. This behavior can be overridden by providing this function to generate a value that can be compared instead. This value will be remembered until the next comparison is needed. Comparisons are performed using areInputValuesEqual

A function that returns the values of all input bindings (including any additional bindings) and the deps
priority?: number

The priority

DEFAULT_PRIORITY (0)

queue?: RunQueue

The queue

result of useDefaultQueue()

triggerOnMount?: boolean | "first" | "if-input-changed"
  • If true, the callback is triggered every time this is mounted in addition to whenever the input bindings change.
  • If false, the callback is only triggered when the input bindings change.
  • If 'first', the callback is triggered on the first mount and whenever the input bindings change
  • If 'if-input-changed', the callback is triggered on mount if the bindings have changed since the last evaluation of the transformer

'if-input-changed'