Reselect Change Memoize
A simple memoize function for reselect which performs a callback everytime the result changes.
This package contains three exports:
- a changeMemoize
- createSelectorWithChangeCallback which allows you to easily substitute createSelector
- a createSelector helper which enables change logging if not in production and allows you to name selectors
changeMemoize
;; const myCallback = { // Your code}; const createSelector = ;
createSelectorWithChangeCallback
; const myCallback = { // Your code}; const selector = ; ;
createSelector
; const selector1 = ;const selector2 = ;// The name doesn't have to be providedconst selector3 = ;;;;
produces
- An awesome selector (0.06ms)
lastArgs {}
lastResult {}
newArgs [ { initial: 'state' } ]
newResult { selector1: { initial: 'state' } }
- A second awesome selector which uses the first awesome selector (0.05ms)
lastArgs {}
lastResult {}
newArgs [ { selector1: { initial: 'state' } } ]
newResult { selector2: { selector1: { initial: 'state' } } }
- An awesome selector (0.01ms)
lastArgs [ { initial: 'state' } ]
lastResult { selector1: { initial: 'state' } }
newArgs [ { second: 'state' } ]
newResult { selector1: { second: 'state' } }
- unknown (0.03ms)
lastArgs {}
lastResult {}
newArgs [ { second: 'state' } ]
newResult { selector3: { second: 'state' } }