Guest User

Untitled

a guest
Apr 22nd, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. const { createSelector } = require('reselect');
  2.  
  3. const ids = [1,2,3];
  4.  
  5. const byIds = {
  6. 1: {
  7. name: 'one'
  8. },
  9. 2: {
  10. name: 'two'
  11. },
  12. 3: {
  13. name: 'three'
  14. }
  15. };
  16.  
  17. const selector = createSelector(
  18. (state) => state.ids,
  19. (state) => state.byIds,
  20. (ids, byIds) => ids.map(id => byIds[id])
  21. );
  22.  
  23. const state1 = { ids, byIds };
  24. const items = selector(state1);
  25. const state2 = {
  26. ids,
  27. byIds: {
  28. ...byIds,
  29. '3': {
  30. name: 'THREE'
  31. }
  32. }
  33. };
  34. console.log(items === selector(state1)); // true
  35. console.log(items === selector(state2)); // false
  36. console.log(items === selector(state1)); // false, cache expired
  37. console.log(selector(state2)); // [ { name: 'one' }, { name: 'two' }, { name: 'THREE' } ]
Add Comment
Please, Sign In to add comment