Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const { createSelector } = require('reselect');
- const ids = [1,2,3];
- const byIds = {
- 1: {
- name: 'one'
- },
- 2: {
- name: 'two'
- },
- 3: {
- name: 'three'
- }
- };
- const selector = createSelector(
- (state) => state.ids,
- (state) => state.byIds,
- (ids, byIds) => ids.map(id => byIds[id])
- );
- const state1 = { ids, byIds };
- const items = selector(state1);
- const state2 = {
- ids,
- byIds: {
- ...byIds,
- '3': {
- name: 'THREE'
- }
- }
- };
- console.log(items === selector(state1)); // true
- console.log(items === selector(state2)); // false
- console.log(items === selector(state1)); // false, cache expired
- console.log(selector(state2)); // [ { name: 'one' }, { name: 'two' }, { name: 'THREE' } ]
Add Comment
Please, Sign In to add comment