reselect v3.0.0 Release Notes
Release Date: 2017-03-24 // about 7 years ago-
๐ New Features
๐ Performance improvements (thanks to @johnhaley81)
โก๏ธ Updated Typescript typings (thanks to everyone who helped)๐ฅ Breaking Changes
๐ For performance reasons, a selector is now not recalculated if its input is equal by reference (
===
).Example:
import { createSelector } from 'reselect';const mySelector = createSelector( state =\> state.values.filter(val =\> val \< 5), values =\> { console.log('calling..') return values.reduce((acc, val) =\> acc + val, 0) } )var createSelector = require('./dist/reselect.js').createSelector;const mySelector = createSelector( state =\> state.values.filter(val =\> val \< 5), values =\> { console.log('calling..') return values.reduce((acc, val) =\> acc + val, 0) } )var state1 = {values: [1,2,3,4,5,6,7,8,9]};console.log(mySelector(state1));state1.values = [3,4,5,6,7,8,9];console.log(mySelector(state1));var state2 = {values: [1,2,3,4,5,6,7,8,9]};console.log(mySelector(state2));var state3 = {values: [3,4,5,6,7]};console.log(mySelector(state3));
Output in v2.5.4:
calling.. 10 calling.. 7 calling.. 10 calling.. 7
Output in v3.0.0:
calling.. 10 10 calling.. 10 calling.. 7